android - 如何在 Android 上的 webview 中播放 asset 文件夹中的 mp3 文件?

标签 android

我是新的 android 开发人员,试图在 WebView 中播放本地 sdcard mp3 文件。 帮助我。

我想在 android web View 应用程序中添加声音。 (单击屏幕中的按钮时应播放声音。) 我的 html 应用程序在浏览器中运行。 但在 android 中不起作用。我不知道为什么?

WebView  webview;
 @Override
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        webview=(WebView)findViewById(R.id.webview);
        et_Url=(EditText)findViewById(R.id.et_Url);
        btn_Go=(Button)findViewById(R.id.btn_Go);

        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl("file:///android_asset/test.html"); 

 }
 //asset file
   test.html
   test.mp3
  //html source code
  <audio id="sample" src="file:///android_asset/test.mp3" controls preload></audio>
  <a href="javascript:playSegment(0.5);">Play2</a>
  <script>
  var audio = document.getElementById('sample');
  var segmentEnd;
  function playSegment(startTime, endTime){
    segmentEnd = endTime;
    audio.currentTime = startTime;
    audio.play();
  }
  </script>

最佳答案

我正在以这种方式解决我的问题..我希望这对你有所帮助......

//asset folder
   test.html
   // test.html html source code 
     <a href="test.mp3">Play</a>
//raw folder contains following file
  test.mp3
    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/test.html");
    }
     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();
            }
       }

关于android - 如何在 Android 上的 webview 中播放 asset 文件夹中的 mp3 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13172068/

相关文章:

android - 如何使用数据绑定(bind)在 TextView 中连接两个整数?

java - 我们可以在应用程序中播放 YouTube channel 视频吗?

java - 在单个线程中处理多个无限任务? P.S 一次运行一个任务并从外部控制其任务行为(即启动/停止任务)

android - SplashScreen API 有时不显示图标

android - ActionBar 元素之间的填充 :

android通知仅播放声音通知未显示在通知抽屉中

android - "check"无法动态创建复选框

尽管 WiFi 仍处于打开状态,但 Android 失去连接

android - 如何在安卓手机中使用磁传感器检测金属?

android - 自定义 ListView 部分标题