我最近一直试图解决处理动态视频源的代码变化的问题:
vid.src = "some_movie_url";
最终导致移动游侠崩溃。
流程有点复杂,所以我不在这里发布(太多的异步/事件回调处理)。
实际问题是这个,我在设备日志中看到抛出以下异常:
" AVPlayerItem不能与多个AVPlayer实例关联"
视频标签上的移动版Safari中的哪些操作可能会导致此类问题?
我看到许多问题涉及Objective C本机应用程序,但非移动Safari会导致此问题。
答案 0 :(得分:1)
假设您使用JavaScript简单地使用DOM操作替换视频元素的src
属性,也许您可以通过完全删除视频节点来解决这个问题,创建一个新的视频节点您想要的src
属性,并将其附加到DOM。
这些方面的东西:
var oldVidNode, vidNodeParent, newVidNode, newVidSrc;
oldVidNode = document.querySelector("video");
vidNodeParent = oldVidNode.parentNode;
vidNodeParent.removeChild(oldVidNode);
newVidNode = document.createElement("video");
newVidSrc = document.setAttribute("src", "foo.m4v");
vidNodeParent.appendChild(newVidNode);