Microsoft Edge中MediaSource.isTypeSupported对mp3返回结果不一致问题
问题解答
- 核心原因是**
MediaSource.isTypeSupported的检查逻辑和浏览器直接播放媒体的逻辑完全不同**:- 这个API专门用来判断浏览器是否支持通过MediaSource API流式处理该媒体类型——也就是给分段流媒体(比如DASH、HLS这类按需加载片段的场景)用的,它要求媒体必须是带分段结构的容器格式(比如适配流式的fMP4),而MP3本身没有对应的分段容器规范,所以会返回false。
- 直接拖入浏览器播放是用的浏览器原生的完整文件解析能力,浏览器会自动读取文件头、识别编码格式,不需要依赖MediaSource的流式处理逻辑,所以完整的MP3文件能正常播放。
- 补充说明:MediaSource对MIME类型的要求也更严格,必须带上具体的编码参数(比如
audio/mp4; codecs="mp4a.40.2"),而直接播放时浏览器会自动识别这些信息,不需要手动指定。
内容的提问来源于stack exchange,提问作者JRE_Stack
相关产品推荐
相关产品推荐

