我正在使用this post作为如何向我的Twilio视频快速入门应用程序添加静音按钮的指南。但是,我仍然无法将本地参与者麦克风静音。我在视频连接中添加了以下代码作为承诺,但是当我点击#button-mute时,它甚至没有将消息记录到控制台。
连接时,控制台输出以下错误:
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();
}
})
})
});
答案 0 :(得分:0)
Twilio开发者传道者在这里。
这里的问题似乎是你的承诺的回报价值。代码的第一部分如下所示:
Video.connect(data.token, connectOptions).then(roomJoined, function(error) {
log('Could not connect to Twilio: ' + error.message);
}).then(room => {
如果您的roomJoined
函数未返回room
对象,则以下then
的参数不会为room
并且调用room.localParticipant
将导致您的错误。
确保roomJoined
返回room
对象并且它应该有效。