我正在使用 this post 作为如何将静音按钮添加到我的Twilio视频快速启动应用程序的指南。但是,我仍然无法将本地参与者麦克风静音。我在视频连接中添加了以下代码作为承诺,但当我单击#按钮静音时,它甚至没有将消息记录到控制台。
连接时,控制台输出以下错误:
TypeError:无法读取未定义的属性“localParticipant”
Video.connect(data.token, connectOptions).then(roomJoined, function(error) { log('Could not connect to Twilio: ' + error.message); }).then(room => { const localParticipant = room.localParticipant; $button-mute.on('click', event => { localParticipant.tracks.forEach((trackId, track) => { console.log('In mute function code'); if (track.isEnabled) { track.disable(); } else { track.enable(); } }) }) });
Twilio开发者布道者。
这里的问题似乎是你承诺的回报价值。此处代码的第一部分如下所示:
Video.connect(data.token, connectOptions).then(roomJoined, function(error) { log('Could not connect to Twilio: ' + error.message); }).then(room => {
如果您的 roomJoined 函数不返回 room 对象,然后执行以下操作 then 不会有参数 房间 和呼叫 room.localParticipant 将导致您的错误。
roomJoined
room
then
房间
room.localParticipant
确保 已加入roomJoined 返回 房间 对象,它应该工作。
已加入roomJoined