我正在开发一个从服务器播放mp3的webview应用程序。
我有以下适用于iOS的JavaScript,但在Android上失败(在新的LG-D160,Android 4.4.2上测试)。
在Android上,"播放"虽然" canplay"事件发生了,音频应该开始播放" canplay"内的AudioEl1的play()方法。事件
我应该采取哪些额外步骤才能在Android上播放?
这是PlayAudio()函数:
function PlayAudio()
{
var AudioEl1 = new Audio();
AudioEl1.addEventListener('loadedmetadata', function () {
alert("loadedmetadata");
});
AudioEl1.addEventListener("canplay", function () {
alert("going to play");
AudioEl1.play();
});
AudioEl1.addEventListener("durationchange", function () {
alert("durationchange");
});
AudioEl1.addEventListener("loadeddata", function () {
alert("loadeddata");
});
AudioEl1.addEventListener("progress", function () {
alert("progress");
});
AudioEl1.addEventListener('loadstart', function () {
alert("started loading");
});
AudioEl1.addEventListener('play', function () {
alert("playing");
});
AudioEl1.src = "http://streams.greenhost.nl/cz/cz/rod/20140815-1600.mp3";
}
答案 0 :(得分:0)
似乎Android并不允许程序员触发播放事件。它应该是用户启动的。所以我被迫等待用户点击按钮。至少我是如何解决这个问题的。不理想,但现在它有效。