将Blob设置为设备的HTML 5视频标签的src属性

kap*_*mr8 5 javascript blob mobile-devices html5-video ios

我试图通过将HTML 5视频标签的src属性设置为Blob(使用createObjectURL(blob)函数)来播放视频。它似乎可以在台式机上正常运行,但不能在设备上运行。以下是代码流:

  1. 我保留了一个.txt文件,其中包含Base64格式的视频(这是一项要求,因此无法更改)。
  2. 单击按钮后,我使用文件系统API加载.txt文件,并将Base64字符串转换为Blob。
  3. 然后使用createObjectURL(blob)为Blob创建URL。
  4. 将createObjectURL(blob)生成的url设置为视频标记的src属性。

我还为视频附加了侦听器“ onerror”,“ loadstart”和“ loadedmetadata”。在Android设备上会触发“ loadstart”和“ loadedmetadata”事件,但在单击视频的默认控件后无法播放视频,而在IOS设备上,不会触发“ loadstart”和“ loadedmetadata”事件。

Joe*_*ard 0

我遇到了同样的问题,但无法找到简单的解决方案。然而,我注意到新的媒体源 API 似乎可以在 Android Chrome 中工作,这将允许您解决这个问题 - 尽管仅在某些设备上并且需要付出很大的努力。

以下是媒体源 API 的示例:http ://html5-demos.appspot.com/static/media-source.html