gpt4 book ai didi

javascript - HTML5 音频行为

转载 作者:IT老高 更新时间:2023-10-28 22:22:52 25 4
gpt4 key购买 nike

我在 HTML5 页面中有一个音频元素。我开始播放音频,然后暂停。之后,我通过按主页按钮返回主屏幕并调用电话。通话结束时,音频元素会自动恢复。这发生在 Android 4.0.3

问题在于,这不是预期和期望的行为。不幸的是,当浏览器在后台运行时,不会引发 javascript 事件,我无法使用 Javascript 捕捉和阻止这种行为。

感谢任何帮助。提前致谢。

最佳答案

我没有 ICS 手机可以试用,但我会这样做:

pause 显然会跟踪音频时间位置。4.0 似乎会自动恢复您暂停音频文件的位置

因此,您可以stop您的音频文件,而不是暂停。不幸的是,HTML5 不支持 stop

你有一个棘手的解决方案:

  • 暂停音频
  • 存储位置:trackPos = myTrack.currentTime;
  • 存储音量:trackVol = myTrack.volume;
  • 静音:myTrack.volume = 0;

然后当用户返回并再次点击播放时:

如果 trackPos 存在

  • 设置起始位置为trackPos:myTrack.currentTime = trackPos;
  • 播放
  • mytrack.volume = trackVol;
  • 删除window.trackPos;

这很棘手,但如果您使用 JavaScript 控件,它应该可以工作。

如果您使用 native 控件,则播放和暂停将由浏览器界面管理。然后你应该只存储位置并开始变得真正的脏:

  • 删除来源:

    myTrack.removeChid(yourSRCs)

  • 恢复您的 SRC 和焦点位置

  • 等待用户播放

这是一个快速而肮脏的草稿,未经测试。但它应该工作

///编辑///

一个有效的 Javascript 演示,至少在我的桌面上。在您的 ICS 上试用: JSFiddle

(保存文件,我猜你无法在手机上正常启动 jsfiddle)

关于javascript - HTML5 音频行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11035890/

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