我创建了一个使用音频文件作为声音效果和背景音乐的小型网络应用程序,我注意到当我在Wifi连接下运行它时,它运行完美,但是当我切换到数据时,某些事件不会触发一点也不及时......他们最终会开火,但经过一些互动或称之为“游戏”的方式。
let v = new Audio();
v.preload = "auto";
v.src = "some mp3 file";
我看过的事件
loadstart
suspend
durationchanged
loadedmetadata
loadeddata
canplay
canplaythrough
在Wifi上,他们会立即按照该序列开火
在数据连接上然而,前两个火,然后没有任何反应,直到我在路上叫“播放”。之后,正常事件被触发,除了我注意到停滞仅在数据上被触发。
预计会出现这种情况吗?
我的问题是,在移动数据连接中,如何检测“ canplaythrough ”或“ canplay ”甚至“ loadeddata ”?
答案 0 :(得分:-1)
显然,Android在连接数据时会阻止自动播放音乐和视频。 canplaythrough 需要预先加载音频,或者至少需要在数据上阻止的元数据。