reactjs - Twilio Video - 在 iOS 上切换相机后视频消失
问题描述
我在 React 应用程序中使用 Twilio Video JS SDK ( https://www.twilio.com/docs/video )。我想允许用户使用以下功能在移动设备上切换摄像机:
switchCamera = (isRear = false) => {
const { videoToken } = this.props;
const { videoCameras } = this.state;
if (videoToken) {
let videoInput;
if (isRear) {
videoInput = videoCameras.filter(camera => camera.label.toLowerCase().includes('back'));
} else {
videoInput = videoCameras.filter(camera =>camera.label.toLowerCase().includes('front'));
}
createLocalVideoTrack({
facingMode: isRear ? 'environment' : 'user',
deviceId: { exact: videoInput[0].deviceId },
}).then(async localVideoTrack => {
if (this.state.room) {
const { localParticipant } = this.state.room;
const tracks = Array.from(localParticipant.videoTracks.values())
.map(trackPublication => trackPublication.track);
localParticipant.unpublishTracks(tracks);
tracks.forEach(track => track.detach().forEach(element => element.remove()));
await localParticipant.publishTrack(localVideoTrack);
localVideoTrack.attach();
}
});
}
};
但是,当 localParticipant 切换摄像头时,他自己的视频源会消失,但所有其他参与者都可以看到切换的摄像头源。
如何防止 localParticipant 的视频源消失?
解决方案
推荐阅读
- c# - API 中的 post 方法未按预期工作
- swift - 问:如何添加多个对象 AR 检测
- python - 抓取 Twitter 数据时出现 JSONDecodeError
- google-maps - [浏览器][cordova.js][xhrStatusChangeHandler] 无法 XHR config.xml:未找到
- jquery - 如何允许 filterizr JQuery 插件进行分页
- android-studio - 如何在 Android Studio 中正确查找 NDK shaderc lib 并将其链接到您的项目中?
- javascript - Phaser 3: "Too many active WebGL contexts. Oldest context will be lost." warning and memory leak
- c# - 没有在课堂上获得价值
- javascript - 如何防止生成空的Birt报告
- ios - iOS Swift UIImage animation got struck while doing db and webservice stuff