Cordova 的 Twilio 视频 MediaStreamTrack TypeError
Twilio Video MediaStreamTrack TypeError with Cordova
我正在使用 Cordova 使用 Twilio 视频会议开发视频直播应用程序。我正在尝试从设备 front-facing 相机流式传输视频。它运作良好 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。所以,你可以这样做:
const stream = await navigator.mediaDevices.getUserMedia(constraints);
const room = await Video.connect(token, { tracks: stream.getTracks() })
这会将您的 MediaStreamTrack
变成 LocalTrack
,您无需担心。
如果有帮助请告诉我。
Cordova IOS 编译版本不会传输与 Safari 在 Web 上相同的媒体流轨道类型,我切换到 Capacitor.js 并使用它的插件,但仍然没有不要和我一起工作。
就此问题而言,它不适用于 Cordova cordova-plugin-iosrtc
,我们在我们的应用程序中推迟了此功能
我正在使用 Cordova 使用 Twilio 视频会议开发视频直播应用程序。我正在尝试从设备 front-facing 相机流式传输视频。它运作良好 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。所以,你可以这样做:
const stream = await navigator.mediaDevices.getUserMedia(constraints);
const room = await Video.connect(token, { tracks: stream.getTracks() })
这会将您的 MediaStreamTrack
变成 LocalTrack
,您无需担心。
如果有帮助请告诉我。
Cordova IOS 编译版本不会传输与 Safari 在 Web 上相同的媒体流轨道类型,我切换到 Capacitor.js 并使用它的插件,但仍然没有不要和我一起工作。
就此问题而言,它不适用于 Cordova cordova-plugin-iosrtc
,我们在我们的应用程序中推迟了此功能