WebRTC的C++ API提供了一个rtc::VideoSourceInterface,它可以接收多个视频源,可以实时切换video0和video1。例如,可以使用以下步骤来实现:
-
创建一个rtc::VideoSourceInterface的实例。
-
使用AddOrUpdateSink()方法添加video0和video1视频源。
-
调用SwitchSource()方法来切换video0和video1之间的输入。
-
使用RemoveSink()方法移除不再使用的视频源。
//另一种方法
可以参考下面的代码:
// Create a MediaStreamTrack for the USB source.
rtc::scoped_refptrwebrtc::MediaStreamTrackInterface usb_track =
webrtc::CreateUsbMediaStreamTrack(usb_device);
// Add the MediaStreamTrack to the PeerConnection.
rtc::scoped_refptrwebrtc::RtpSenderInterface usb_sender =
peer_connection->AddTrack(usb_track);
// Switch to the USB source.
peer_connection->RemoveTrack(default_sender);
peer_connection->AddTrack(usb_sender);
//另一种方法
rtc::scoped_refptrwebrtc::VideoTrackSourceInterface new_video_source =
n