带有Cordova的Twilio Video MediaStreamTrack TypeError

问题描述 投票:0回答:1

我正在使用Twilio视频会议与Cordova开发视频直播应用。我正在尝试从设备前置摄像头流式传输视频。在Android上运行良好,但在iOS上却遇到了一些问题。

我正在使用cordova-plugin-iosrtc插件公开navigator.mediaDevices API

在连接方法上,我收到此错误

TypeError: track must be a LocalAudioTrack, LocalVideoTrack, LocalDataTrack, orMediaStreamTrack

我已将代码更改为所需的曲目类型

const { LocalAudioTrack, LocalVideoTrack, connect } = require('twilio-video');

constmediaStream = awaitnavigator.mediaDevices.getUserMedia(constraints); 

const tracks = mediaStream.getTracks().map(track => track.kind === 'audio' ? newLocalAudioTrack(track) :newLocalVideoTrack(track)); const room = awaitconnect('token', { tracks }); 

更改后出现此错误

TypeError: Argument 1 ('track') to mediaStream.addTrack must be an instance of MediaStreamTrack and sometimes this one => typeError undefined isn't an object (evaluating 'tracks.id')

在此先感谢您提供的任何帮助

cordova twilio webrtc cordova-plugins twilio-video
1个回答
0
投票

Twilio开发人员推广人员在这里。

[具有MediaStreamTrack对象时,可以pass them directly to Video.connect through the options。因此,您可以执行以下操作:

Video.connect

这将使您的const stream = await navigator.mediaDevices.getUserMedia(constraints); const room = await Video.connect(token, { tracks: stream.getTracks() }) 变成MediaStreamTrack,而不必担心。

让我知道是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.