加载& lt; audio>Firefox进入readyState 2, Chrome进入readyState 4
Loading <audio> source - Firefox gets into readyState 2 and Chrome into 4
我正在尝试将HTMLAudioElement
连接到Web音频API (MediaElementAudioSourceNode
)。我先设置src
,然后再呼叫load()
。
现在,而在铬这让我从readyState
0
(HAVE_NOTHING
)到4
(HAVE_ENOUGH_DATA
),所以后续的play()
成功。但是在Firefox中,我只能看到2
(HAVE_CURRENT_DATA
),其他什么都没有。
我错过了关键的一步吗?
编辑:这是我的调试信息:
| | FF Init | FF Load | Ch Init | Ch Load |
|readyState | 0 | 2 | 0 | 4 |
|preload | | | auto | auto |
|duration | NaN | 186.45 | NaN | 186.44 |
|error | null | null | null | null |
|networkState | 0 | 1 | 0 | 1 |
至少从这个列表中,初始数据的唯一区别是Chrome中的preload
值。
所以在创建媒体元素后添加preload = "auto"
(以匹配它在Chromium中的默认值)也可以在Firefox中工作。
不确定这是否与您的问题直接有关,但由于我在研究另一个问题时发现了您的问题,我会添加我的两分钱来帮助其他人谁来到这里与HAVE_CURRENT_DATA相关的Firefox问题…:
发现,显然火狐重置 readyState到HAVE_CURRENT_DATA后,它已经播放了音频,即在"oncanplaythrough"它是"have_足够的数据",但之后播放它回到了"HAVE_CURRENT_DATA"-也许是因为没有更多的帧播放?你仍然可以通过另一个调用"play"来播放音频,只是readyState有点混乱。
所以,在重复使用音频时要小心。
- 如何添加CSS&JavaScript进入Windows窗体应用程序C#.net
- 当谷歌地图进入街景时,我能抓住什么事件
- 控制器不会进入for循环:javascript
- CSS转换立即进入最终状态
- jquery中设置的会话无法进入php
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- 从内部链接进入页面时,引导模式未打开
- 滚动所有嵌套的滚动条,使HTML元素进入视图
- AngularJS UI路由器未进入默认状态
- Firefox Addon为什么标签页的readystate未定义
- 进入时取消提交
- 单击按钮进入下一个选项卡,而不是单击选项卡
- Angularjs-ui路由器使用不同的参数进入相同的状态
- 让玩家进入下一场比赛-锦标赛支架(需要一些逻辑)
- AngularJS-检测到n分钟内没有任何操作并进入默认状态
- 免费 jqGrid - 行未进入编辑
- IE9 XMLHTTPRequest请求正文不完整,但readyState=4 statuscode=200
- readyState=4三次.Ajax-由警报引起
- HTML & lt; audio>元素在Firefox中不会进入readyState 4
- 加载& lt; audio>Firefox进入readyState 2, Chrome进入readyState 4