HTML5 从画布、视频、音频等媒体标签捕获媒体流

HTML5的captureStream()函数允许开发者从<canvas>、<audio>或<video>元素获取MediaStream。这使得媒体流可以被录制、通过WebRTC实时传输或在<canvas>上与其他MediaStream结合。此功能需在<video>元素的onplay事件中调用,以确保视频正在播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://developers.google.com/web/updates/2016/10/capture-stream

captureStream()函数可以从<canvas>、<audio>或者<video>标签获取MediaStream。

这使得来自这些元素中任何一个的视频或音频流都可以被录制,通过WebRTC实时流式传输,或在<canvas>与其他MediaStream组合在一起。换句话说,captureStream()使MediaStream能够在画布、音频或视频元素之间来回传递媒体,或者传递到RTCPeerConnection或MediaRecorder。

 

<canvas>的例子:

var canvas = document.querySelector('canvas');
var video = document.querySelector('video');

// Optional frames per second argument.
var stream = canvas.captureStream(25);
// Set the source of the <video> element to be the stream from the <canvas>.
video.srcObject = stream;

<video>的例子:

var leftVideo = document.getElementById('leftVideo');
var rightVideo = document.getElementById('rightVideo');

leftVideo.onplay = function() {
  // Set the source of one <video> element to be a stream from another.
  var stream = leftVideo.captureStream();
  rightVideo.srcObject = stream;
};

注意:captureStream()只能在<video>能够播放视频之后调用;这就是它位于onplay处理程序中的原因。

更详细的说明,请查阅:https://developers.google.com/web/updates/2016/10/capture-stream

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值