Webview 中的声音

Posted

技术标签:

【中文标题】Webview 中的声音【英文标题】:Sound in Webview 【发布时间】:2011-12-06 16:24:29 【问题描述】:

我在 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);
                       

谁能帮帮我?

【问题讨论】:

【参考方案1】:

你写的代码是打开一个新窗口 每当您单击具有 网页中的 .mp3 文件

您的文件存储在应用程序的什么位置 assets 或 raw 或其一个 url

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

       @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();
        
    

【讨论】:

以上是关于Webview 中的声音的主要内容,如果未能解决你的问题,请参考以下文章

Android 使用WebView浏览有声音或者视频的网页,关闭WebView之后,声音或者视频不停止的解决办法

webview中播放视屏,返回或者退出后,仍然会有声音。

Android webView 播放 YouTube 视频

在JavaFX中静音一个WebView,有可能吗?

从 Android WebView 中的链接播放 MP4 或 MP3

iOS 视频中没有声音