gpt4 book ai didi

javascript - Microsoft Edge 对 canPlayType 上的 AV1 的错误支持

转载 作者:行者123 更新时间:2023-12-05 00:29:49 24 4
gpt4 key购买 nike

Microsoft Edge 85 具有 AV1 视频编解码器支持的误报指示。
像这样检查会返回“可能”,这通常表明视频编解码器可以安全使用。

videoElement.canPlayType('video/webm; codecs="av01.0.05M.08"')
放置 AV1 源元素会导致 Edge 在其他编解码器上选择 AV1 并且无法播放。
<video playsinline loop autoplay muted>
<source type="video/webm; codecs='av01.0.05M.08'" src="av1.webm">
<source type="video/webm; codecs='vp9'" src="vp9.webm">
<source type="video/mp4; codecs='avc1.64001f'" src="avc.mp4">
</video>
有没有其他方法可以更有效地检测编解码器支持而没有上述误报?

最佳答案

我遵循@Deepak-MSFT 的建议,使用 JS 替换 Edge 上的视频源。
我已经确认这适用于 Window 10 21H2 上的 Edge 103。
浏览器仍会请求无法播放的 AV1 WebM 文件,但随后会切换并播放 AVC MP4 文件。

// Target Edge on Windows with UserAgent and Platform strings
if (
window.navigator.userAgent.toLowerCase().includes("edg") &&
window.navigator.platform === "Win32"
) {
// Select the video element
const video = document.querySelector("video");

// Select the playable source file and set video src
video.src = video
.querySelector("source[type='video/mp4']")
.getAttribute("src");
}
这假设您只有一个带有 type="video/mp4" 的源元素。 .查询选择器可以更具体,例如选择 codecs属性,以针对非常特定的来源。另一种选择是添加 id属性到您的源元素并以这种方式定位所需的源。

关于javascript - Microsoft Edge 对 canPlayType 上的 AV1 的错误支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64212993/

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