Javascript 如何修复播放黑屏而非视频的视频元素

Javascript 如何修复播放黑屏而非视频的视频元素,javascript,google-chrome,google-chrome-extension,html5-video,Javascript,Google Chrome,Google Chrome Extension,Html5 Video,My video元素的src是视频录制(mediaRecorder API)的blob URL。当我点击“播放”时,它显示一个黑屏,而不是播放视频。当我将视频元素打印到控制台并右键单击源并单击“在新选项卡中打开”时,视频将在新选项卡中播放 这是一个chrome扩展,我正在录制一个视频(通常3-5秒长),然后尝试在视频元素中播放相同的视频 完全没有错误,只是播放黑屏,如果可以的话请帮助:)好的,所以答案是始终保持MIME类型的一致性。我没有实例化用MIME类型抓取视频的流。一旦我这样做了,并将

My video元素的src是视频录制(mediaRecorder API)的blob URL。当我点击“播放”时,它显示一个黑屏,而不是播放视频。当我将视频元素打印到控制台并右键单击源并单击“在新选项卡中打开”时,视频将在新选项卡中播放

这是一个chrome扩展,我正在录制一个视频(通常3-5秒长),然后尝试在视频元素中播放相同的视频



完全没有错误,只是播放黑屏,如果可以的话请帮助:)

好的,所以答案是始终保持MIME类型的一致性。我没有实例化用MIME类型抓取视频的流。一旦我这样做了,并将blob设置为相同,视频就播放得很好!我使用了“video/webm”MIME类型

,因为我已经检查了关于播放视频但显示黑屏的问题,问题可能是文件编码。如果您将mp4文件转换为
H.264
编码,它将在chrome和IE9及以上版本上运行。非常感谢您的回复。我尝试添加h26v作为blob和流的编解码器,但仍然无法工作:/
// creating new blob (binary large obj) defining it as an webm file
          let blob = new Blob(buffer, {type:'video/webm'});
          chrome.extension.getBackgroundPage().console.log('this is the blob', blob)

          // convert blob into object URL (can be used as video src)
          let videoURL = URL.createObjectURL(blob)
          t.setState({ blobURL: videoURL, video: blob })