我正在使用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')
在此先感谢您提供的任何帮助
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
,而不必担心。
让我知道是否有帮助。