簡體   English   中英

Twilio Video 在 Node.js 中靜音和取消靜音音頻和視頻

[英]Twilio Video Mute and unmute audio and video in Node.js

我已經使用無服務器指南創建了一個 Twilio 視頻通話應用程序,一切都很好,現在我想在其中實現靜音/取消靜音音頻。 請為此提供幫助,我是 node.js 的新手。 想知道我需要在 Conference.js 中放置代碼的位置。

這是我用來安裝的指南,視頻通話效果很好。

啟動一個新項目

twilio serverless:init example --template=video && cd example
  1. 使用Twilio CLI啟動服務器:
twilio serverless:start
  1. 打開網頁 https://localhost:3000/index.html 測試應用

ℹ️ 檢查開發者控制台和終端是否有任何錯誤,確保已設置環境變量。

部署

使用以下任一命令部署您的函數和資產。 注意:您必須從項目文件夾中運行這些命令。 文檔中的更多詳細信息。

使用Twilio CLI

twilio serverless:deploy

首先,只是讓您知道,在對用戶在瀏覽器中交互的應用程序進行更改時,您不是在 Node.js 中這樣做,而是在瀏覽器中運行的 JavaScript 中這樣做。

要在 Twilio Video 應用程序中靜音/取消靜音參與者的音頻或視頻,您需要訪問要靜音的LocalAudioTrackLocalVideoTrack並在其上調用disable() 要取消靜音或重新啟用軌道,您需要在其上調用enable()

但不僅如此。 您需要在將執行靜音的conference.html頁面中添加按鈕,並且您需要訪問 JavaScript 中的按鈕並監聽點擊事件,以便觸發靜音/取消靜音。

添加按鈕並監聽 click 事件后,您將需要訪問軌道。 您可以通過房間連接后可以訪問的room對象來執行此操作。 使用room對象,您可以訪問localParticipant對象,然后使用它來訪問videoTracksaudioTracks屬性,具體取決於您是要靜音視頻還是音頻。 videoTracksaudioTracks都是 Track SID 和LocalTrackPublicationMap 您可以在出版物上調用track以獲取底層軌道,然后對其調用enable / disable

下面是一個使localParticipant的音軌靜音的函數示例。 它假定您已經在頁面上放置了一個靜音按鈕,並且之前可以在 JavaScript 中訪問它。 一旦視頻連接並且您可以訪問room對象,此代碼應該在回調中的 conversation.js 中:

muteButton.addEventListener("click", (event) => {
  room.localParticipant.audioTracks.forEach(trackPublication => {
    trackPublication.track.disable();
  }
});

您可以對videoTracks重復此操作,也可以使用相同的模式在軌道上調用enable以再次取消靜音。

看看你是怎么做的。 如果您還有其他問題,請分享您正在使用的代碼、您嘗試過的事情以及出了什么問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM