Android-识别Web视图是否播放声音

Android-识别Web视图是否播放声音,android,webview,Android,Webview,webview中的网页加载在后台自动播放,我想检测声音何时停止,然后显示toast消息 谢谢如果您使用JavascriptInterface,这将非常容易。按照我的步骤: 1.创建一个接口回调: public class MediaWebInterface { public MediaWebInterface() { } @JavascriptInterface public void setEndedIndex(int pIndex) {

webview中的网页加载在后台自动播放,我想检测声音何时停止,然后显示toast消息


谢谢

如果您使用
JavascriptInterface
,这将非常容易。按照我的步骤:

1.创建一个接口回调:

public class MediaWebInterface {

    public MediaWebInterface() {

    }

    @JavascriptInterface
    public void setEndedIndex(int pIndex) {
        // Call when the audio ended.
    }

}
2.创建包含“结束”侦听器的javascript:

<script type='text/javascript'>window.onload=function(){var n=document.getElementsByTagName("audio"),r=n.length;for(var o=0;o<r;o++)n[o].setAttribute("index",o),n[o].addEventListener("ended",function(){for(var e=0;e<r;e++)this===n[e]&&window.external.setEndedIndex(e)})}
</script>
4.当音频停止时,它将调用
MediaWebInterface.setEndedIndex(pIndex)
,pIndex是音频的索引

玩得开心,试试看

请先读一遍

警告:如果您使用proguard,您应该在
proguard project.txt
中添加以下脚本。否则,回调将无效。因为类名和方法会混淆,所以javascript无法回调

//Preserved javaScript interface class
-keepclassmembers class com.xxx.xxx.javascript.MediaWebInterface {
   public *;
}

任何帮助都将受到高度赞赏。到目前为止,你都做了哪些尝试?到目前为止,我还没有看到任何代码或迹象表明您已经为自己解决这个问题付出了任何努力。@esme_louise我尝试了不同的想法,但对我来说不起作用,只需不断地将一个代码更改为另一个代码。…在WebView?index page和mp3 inside assets文件夹中加载网络页面或loacal页面
//Preserved javaScript interface class
-keepclassmembers class com.xxx.xxx.javascript.MediaWebInterface {
   public *;
}