首页 > 解决方案 > 如何从 WebView 中访问与 Android 应用程序捆绑的 MP3 文件?

问题描述

assets在我的 Android 应用程序的文件夹下放置了一个 MP3 文件,并尝试使用以下 JS 代码从 WebView(HTML 文件)中访问它:

    var audio = new Audio('file:///android_asset/song.mp3')
    audio.play()

但这不起作用。知道怎么做吗?

标签: javascriptandroidwebview

解决方案


这应该有帮助。

WebView  webview;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    webview=(WebView)findViewById(R.id.webview);
    webview.setWebViewClient(new MyWebViewClient());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("file:///android_asset/song.mp3");
}
 class MyWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
             playaudio();
             return true;
    }


}
   private  void playaudio(){
       int i=R.raw.test;
        Log.v("id of file",""+i);
        if(i!=0){
        MediaPlayer player = new MediaPlayer().create(getBaseContext(),i);; 
        player.setVolume(0.9f, 0.9f);
        player.start();
        }
   }

推荐阅读