Webview中的声音

时间:2011-12-06 16:24:29

标签: android android-webview

我在Webview中播放声音时出现问题。 我想通过点击按钮在后台播放声音。 我现在使用脚本,但是当我点击按钮时,会打开一个新窗口。

package C.K;

import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;

final class MyWebViewClient extends WebViewClient {
    @Override     
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {         
        if (url.endsWith(".mp3"))  {             
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.parse(url), "audio/*");
            view.getContext().startActivity(intent);

            return true;
            } else {
                return super.shouldOverrideUrlLoading(view, url);
                }     } } 

谁能帮助我?

1 个答案:

答案 0 :(得分:1)

您正在编写的代码是打开一个新窗口 无论何时你点击链接都有 网页中的.mp3文件

您的文件存储在应用中的哪个位置 资产或原始或其网址

这是在不打开新窗口的情况下从webview播放文件的代码 音频文件存储在原始文件夹

       @Override     
         public boolean shouldOverrideUrlLoading(WebView view, String url)
        {         
              if (url.endsWith(".mp3"))  {       
              String temp1=url.replace(".mp3", "");      
              playaudio(temp1);

              return true;
        }      
      return true;
 } 


       private  void playaudio(String url){
        String s=url;
        int i=getResources().getIdentifier(s,"raw",getPackageName());
        Log.v("name of file",""+s);
        Log.v("id of file",""+i);
        if(i!=0){
        MediaPlayer player = new MediaPlayer().create(getBaseContext(),i);; 
        player.setVolume(0.9f, 0.9f);
        player.start();
        }
    }