在Twilio Video Quickstart中添加静音按钮

时间:2018-05-11 16:45:19

标签: javascript video promise twilio

我正在使用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();
                }
            })
        })
    });

1 个答案:

答案 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对象并且它应该有效。