android - Webview 中的声音

标签 android android-webview

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

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);
                }     } } 

谁能帮帮我??

最佳答案

你写的代码是打开一个新窗口 每当你点击链接时 网页中的.mp3文件

您的文件存储在应用中的什么位置 Assets 或原始或其 url

这是在不打开新窗口的情况下从 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();
        }
    }

关于android - Webview 中的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8403271/

相关文章:

android - Ajax 不能在 android webview 中工作

Android - 为什么 webview 重定向到 webbrowser

java - java中不同类中通过静态方法设置和获取静态变量值

android - 如何手动从 jitpack.io 下载 aar 和 pom 文件?

android - 如何使用 Universal image Loader 在本地加载资源

android - 关于Android Paint绘图颜色

android - Google 使用 WebView 登录应用程序

Android键盘重叠输入字段, View 不会自动滚动

android - OpenGL 与 OpenGL ES(GLchar 等)

android - Environment.getExternalStorageDirectory() 在 API 级别 29 java 中已弃用