Javascript Mediasource 同时播放视频和音频?
Javascript Mediasource play video and audio simultaneously?
我想使用 Javascript 中的媒体源同时播放音频和视频。
我可以玩其中一个,但不能同时玩。
到目前为止,这是我的代码:
let mse = function() {
if ('MediaSource' in window && MediaSource.isTypeSupported(codecs)) {
a = new MediaSource();
a.addEventListener('sourceopen', ma);
return a;
} else {
return false;
}
}();
如果需要的话,我还有另外 600 行代码。
如果您需要同时播放视频和声音,您需要创建 2 个源缓冲区。正如你所说。你可以只玩其中一个。所以我猜你的代码没问题。所以你需要创建 2 个缓冲区。像这样
my_media_source.addEventListener("sourceopen",function (){
var video_source_buffer = my_media_source.addSourceBuffer(video_mimeCodec);
var audio_source_buffer = my_media_source.addSourceBuffer(audio_mimeCodec);
//.......
video_source_buffer.appendBuffer(...);
audio_source_buffer.appendBuffer(...);
}
现在您可以同时缓冲视频和音频,请注意 MediaSource 在获得这两个数据之前不会播放您的视频。例如,如果您缓冲了视频的前 5 秒和音频的前 3 秒,播放器将停在 3 秒
保持你的缓冲区公平 ;)
我想使用 Javascript 中的媒体源同时播放音频和视频。 我可以玩其中一个,但不能同时玩。
到目前为止,这是我的代码:
let mse = function() {
if ('MediaSource' in window && MediaSource.isTypeSupported(codecs)) {
a = new MediaSource();
a.addEventListener('sourceopen', ma);
return a;
} else {
return false;
}
}();
如果需要的话,我还有另外 600 行代码。
如果您需要同时播放视频和声音,您需要创建 2 个源缓冲区。正如你所说。你可以只玩其中一个。所以我猜你的代码没问题。所以你需要创建 2 个缓冲区。像这样
my_media_source.addEventListener("sourceopen",function (){
var video_source_buffer = my_media_source.addSourceBuffer(video_mimeCodec);
var audio_source_buffer = my_media_source.addSourceBuffer(audio_mimeCodec);
//.......
video_source_buffer.appendBuffer(...);
audio_source_buffer.appendBuffer(...);
}
现在您可以同时缓冲视频和音频,请注意 MediaSource 在获得这两个数据之前不会播放您的视频。例如,如果您缓冲了视频的前 5 秒和音频的前 3 秒,播放器将停在 3 秒
保持你的缓冲区公平 ;)