代码之家  ›  专栏  ›  技术社区  ›  adcomptyler

向Twilio视频快速启动添加静音按钮

  •  0
  • adcomptyler  · 技术社区  · 6 年前

    我正在使用 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();
                    }
                })
            })
        });
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   philnash    6 年前

    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 返回 房间 对象,它应该工作。