我遇到了一些奇怪的行为,我找不到任何记录在案的知识。
这是正在发生的事情:
调用 play() 方法后,当 NetStatus 代码为“NetStream.Play.Start”时暂停网络流。这将禁用自动播放的默认行为。在使用togglePause() 或 resume() 恢复之前,请执行搜索操作。当您尝试使用 togglePause() 或 resume() 恢复时,网络流将不会再次开始播放。
如果您只是立即 pause() 然后 resume() 而中间没有 seek() ,它恢复正常。
此外,如果您将初始暂停延迟大约 250 毫秒,那么您可以在 seek() 和随后的 resume() 之后没有问题。
我在这里发布了一个演示和来源:http: //drinkspiler.cannonballinteractive.com/temp/ResumeAfterPauseAndSeek/
该代码是直接来自 NetStream 的 AS3 文档的示例代码,并添加了一些小的附加功能来处理初始暂停以及处理查找和恢复按钮。没什么大不了的。
请注意,我通过调用 stream.seek(0) 然后 stream.pause(); 来暂停。这可确保第一帧显示在 Video 实例中,而不是什么都不显示。没有 stream.seek(0) 并且仅使用 stream.pause() 停止播放时会发生相同的行为。
我也尝试过延迟调用 startPaused(); 直到缓冲区满事件代码但行为是相同的。
谁能帮我找到一个合理的解决方法或为我确认这是一个错误?非常感谢!