Twilio视频&x2B;与Angular聊天
我正在使用Twilio视频聊天的医生咨询应用程序 应用程序中正在运行以下内容:Twilio视频&x2B;与Angular聊天,angular,twilio,twilio-video,Angular,Twilio,Twilio Video,我正在使用Twilio视频聊天的医生咨询应用程序 应用程序中正在运行以下内容: 返回令牌的节点服务器 充当客户端的Android应用程序 面向医生的web应用 音频和视频工作正常,但我想在应用程序之间交换文本消息,以便显示连接或断开通知 以下是我的角度代码,用于建立连接: /** * @description Connect to a room * @param accessToken * @param options */ connectToRoom(accessToken: st
/**
* @description Connect to a room
* @param accessToken
* @param options
*/
connectToRoom(accessToken: string, options): void {
connect(accessToken, options).then(room => {
this.roomObj = room;
if (!this.previewing && options['video']) {
this.initializeLocalConnection();
}
this.roomParticipants = room.participants;
room.participants.forEach(participant => {
this.attachParticipantTracks(participant);
});
room.on('participantDisconnected', (participant) => {
this.participantDisconnected(participant);
});
room.on('participantConnected', (participant) => {
this.initializeRemoteConnection(room, participant);
});
// When a Participant adds a Track, attach it to the DOM.
room.on('trackPublished', (track, participant) => {
this.attachTracks([track]);
});
// When a Participant removes a Track, detach it from the DOM.
room.on('trackRemoved', (track, participant) => {
this.detachTracks([track]);
});
room.once('disconnected', room => {
this.disconnectRoom(room);
});
}, (error) => {
alert(error.message);
});
}
我用以下代码调用此函数:
this.dataTrack = new LocalDataTrack();
this.connectToRoom(this.access_token, {
name: this.room_name,
//tracks: [this.dataTrack],
audio: true,
video: { height: 720, frameRate: 24, width: 1280 },
bandwidthProfile: {
video: {
mode: 'collaboration',
renderDimensions: {
high: { height: 1080, width: 1980 },
standard: { height: 720, width: 1280 },
low: { height: 176, width: 144 }
}
}
},
});
我读到我需要使用数据跟踪。为了接收消息,我添加了以下事件:
participant.on('trackAdded', track => {
console.log(`Participant "${participant.identity}" added ${track.kind} Track ${track.sid}`);
if (track.kind === 'data') {
track.on('message', data => {
console.log(data);
});
}
});
但如果我试图从代码中删除以下注释,音频和视频将停止工作。代码中没有错误
//tracks: [this.dataTrack],
这里是Twilio开发者福音传道者 当您添加行
曲目:[this.dataTrack]
时,您正在告诉Twilio Video,这些是您想要包含的唯一曲目,并且会覆盖SDK请求摄像头和麦克风权限
在这里你可以做两件事。您可以使用navigator.mediaDevices.getUserMedia
自己请求视频和音频曲目,并在阵列中传递这些曲目
或者,您可以等到房间已连接,然后发布数据轨迹
connectoroom(accessToken:string,options):void{
连接(accessToken,选项)。然后(房间=>{
this.roomObj=房间;
this.roomObj.publishTrack(this.dataTrack);
//等
})
}
好的,谢谢,我试试这个