gpt4 book ai didi

android - 无法从 Android WebView 中的 URL 播放 mp3

转载 作者:行者123 更新时间:2023-11-29 20:33:46 28 4
gpt4 key购买 nike

我正在尝试在 WebView 中播放 mp3 文件。但是,该文件不在 WebView 中播放,并且页面在输出和错误后挂起(请参阅下面的日志输出)。

jQuery 代码

$.playSound('../static/sounds/cash-register.mp3');
$('#myAudio').on('ended', function() {
window.location.replace("scan_tablet");
});

(function($){
$.extend({
playSound: function(){
return $("<embed src='"+arguments[0]+"' hidden='true' autostart='true' loop='false' class='playSound'>" + "<audio id='myAudio' autoplay='autoplay' style='display:none;' controls='controls'><source src='"+arguments[0]+"' type=\"audio/mpeg\" /><source src='"+arguments[0]+".ogg' type=\"audio/ogg\" /></audio>").appendTo('body');
}
});

})(jQuery);

WebView 客户端

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);

if (Build.VERSION.SDK_INT >= 19) {
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

webView.setWebViewClient(new WebViewClient());

等...

日志输出

1) D/WebViewCallback: shouldInterceptRequest=localhost/static/sounds/cash-register.mp3

2) D/WebViewCallback: onLoadResource=localhost/static/sounds/cash-register.mp3

3) [WARNING:aw_network_delegate.cc(66)] localhost/static/sounds/cash-register.mp3#-3#1

4) E/MediaResourceGetter: Invalid url: java.lang.NumberFormatException: Invalid int: "null"

我不确定为什么在日志输出的第 3 行中似乎修改了 URL。

当我在笔记本电脑上使用 Chrome 尝试此操作时,mp3 文件播放没有任何问题。

最佳答案

在深入了解 WebView 文档后,我尝试在 WebView 客户端上进行以下设置。

webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

此设置默认设置为 TRUE。我认为这是在阻止播放声音。

关于android - 无法从 Android WebView 中的 URL 播放 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622382/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com