[英]Twilio Video Mute and unmute audio and video in Node.js
我已經使用無服務器指南創建了一個 Twilio 視頻通話應用程序,一切都很好,現在我想在其中實現靜音/取消靜音音頻。 請為此提供幫助,我是 node.js 的新手。 想知道我需要在 Conference.js 中放置代碼的位置。
這是我用來安裝的指南,視頻通話效果很好。
啟動一個新項目
twilio serverless:init example --template=video && cd example
twilio serverless:start
ℹ️ 檢查開發者控制台和終端是否有任何錯誤,確保已設置環境變量。
使用以下任一命令部署您的函數和資產。 注意:您必須從項目文件夾中運行這些命令。 文檔中的更多詳細信息。
使用Twilio CLI :
twilio serverless:deploy
首先,只是讓您知道,在對用戶在瀏覽器中交互的應用程序進行更改時,您不是在 Node.js 中這樣做,而是在瀏覽器中運行的 JavaScript 中這樣做。
要在 Twilio Video 應用程序中靜音/取消靜音參與者的音頻或視頻,您需要訪問要靜音的LocalAudioTrack
或LocalVideoTrack
並在其上調用disable()
。 要取消靜音或重新啟用軌道,您需要在其上調用enable()
。
但不僅如此。 您需要在將執行靜音的conference.html
頁面中添加按鈕,並且您需要訪問 JavaScript 中的按鈕並監聽點擊事件,以便觸發靜音/取消靜音。
添加按鈕並監聽 click 事件后,您將需要訪問軌道。 您可以通過房間連接后可以訪問的room
對象來執行此操作。 使用room
對象,您可以訪問localParticipant
對象,然后使用它來訪問videoTracks
或audioTracks
屬性,具體取決於您是要靜音視頻還是音頻。 videoTracks
和audioTracks
都是 Track SID 和LocalTrackPublication
的Map
。 您可以在出版物上調用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.