為了讓開發者對連麥互動更有直觀的體會,anyRTC上線了語音連麥Demo,讓開發者除了了解概念,更能去實際操作,借鑒流程,更容易打造自己的產品場景,
目前anyRTC已經適配了iOS、Androd、Web、小程式、Windows、macOS、Linux,還有跨平臺系列,Flutter、uni-app、APICloud.開發者可以根據自己的公司的實際情況來選擇,anyRTC 將不留余力助你在音視頻場景上打造完美盛宴,
簡述
語音溝通是社交軟體必備的功能,語音和文字圖片相比更加豐富,與視頻相比更加簡單便捷,除了以往單純的一對一語音聊天之外,在實時音視頻技術的快速發展下,誕生了很多有趣的玩法,
語音連麥APP的分類及玩法
-
語音直播類
-
游戲開黑類
-
聊天房類
-
語音游戲類
目前市場上的開黑類app大致可以分成以上4類,因為不同種類的app針對人的目標群體是不同的,所以在玩法上也一些差別,
語音直播類
目前比較火的是語音連麥玩法,角色分為主播和觀眾,主播可以在自己的直播間唱歌,講故事、說脫口秀、內容形式有很多,觀眾也可以主動申請上麥與主播聊天互動,主要實作的功能就是語音連麥,在聊的基礎上,加上了背景伴奏音以及通過訊息系統來實作的文字訊息功能,看似簡單,但是這種模式用戶的活躍度較高,付費意愿也更高,一些優質的語音社交平臺能達到很高的流水,
游戲開黑類
游戲開黑類app主要是作為游戲進行中語音溝通的媒介,因為多人一起在玩游戲的時候經常會出現有雜音,聲音延遲,或者聽不清楚的問題,而語音開黑類app就完美的解決了這些問題,可以讓你在玩游戲的同時保持正常的語音交流,提升用戶體驗,
聊天房類
聊天房類的app目前是比較火的一類,進入聊天房后,每一個房間都是自己的主題,用戶可以在房間內暢所欲言,同時支持變聲,如果不想發言也可以選擇觀眾模式,不參與互動只收聽或者發彈幕也是可以的,
語音游戲類
語音游戲,它也是語音聊天室的常見應用場景,從大熱的狼人殺、劇本殺,越來越多的游戲開始為玩家創建實時互動的場景,同時實時的音視頻對話也成為了部分游戲型別的主要功能,功能上與語音直播相似,只是在這個頻道中,上麥下麥的玩法邏輯有所不同,
如何實作語音聊天室
以上只是包含了語音聊天的部分場景,綜上所述,語音聊天室需要滿足的主要功能包括:
-
支持多人參與的語音聊天
-
支持本地混音
-
多種連麥模式
要實作一個具備以上功能的語音聊天室,大致可以分為三步:實作語音連麥、支持本地混音,多種連麥模式的設計,
首先是實作語音連麥,如果要通過自研的方法實作,難度會比較大:
-
需要自己部署服務器做好高并發處理;
-
需要對編解碼器優化來解決回聲、噪聲問題;
-
需要有成熟的技術方案降低延遲、提高音質;
-
需要兼容各種網路環境下的用戶體驗等,
總體來講,就是需要解決設備端、網路中的語音連麥穩定低延時問題與可用性問題,
下圖為語音聊天室場景化方案的架構圖與實作思路:

實作語音連麥
通常,觀眾上麥請求、主播通過上麥申請等一系列操作都是通過訊息服務來完成的,任意模式下,進入房間后可以允許聽眾上麥,用戶發出上麥申請,房主同意后,聽眾可上麥,角色由聽眾變為了主播,
目前anyRTC提供兩種語音連麥方式,分別是本地合流,和服務端合流,
下面先給大家介紹一下本地合流這種方式:
本地合流
1、簡介
該方案為本地合流方案,主播端跟連麥端實時互動,主播端在本地進行音視頻混流并推流到RTMP,
2、方案流程圖

3、呼叫時序圖
主播端:
客戶端:
流程: 游客初始化RTC后,初始化播放器,播放RTMP,申請連麥通過后,呼叫加入頻道方法,加入頻道成功后,停止播放RTMP,下麥后,呼叫leaveChannel,并呼叫播放器的播放進行播放RTMP流:
4、配套SDK
實時訊息SDK: 使用RTM SDK 進行信令互動,申請連麥、同意、拒絕的訊息送達,訊息送到后座對應的邏輯處理,
實時音視頻SDK: 使用RTC SDK 進行音視頻通信,根據用戶身份的角色使用配套的SDK
本地合流類: 主播端呼叫,負責本地的音頻流合成并推向RTMP
播放器類: 游客端呼叫,負責播放RTMP,當上麥的時候停止播放,并呼叫RTC的加入房間,當下麥的時候,離開頻道,并繼續呼叫播放器的播放,
接下來給大家介紹一下服務端合流這種方式:
服務端合流
1、簡介
該方案為服務端合流方案,主播端跟連麥端實時互動,主播端呼叫方法實時更新服務上的合流布局,
2、方案流程圖

3、呼叫時序圖
主播端:
流程: 主播初始化RTC后,并設定頻道屬性為直播模式,并設定自己的角色為主播,加入頻道成功后,設定推流轉碼配置并設定推流地址進行推流,有用戶上麥或者下麥更新推流配置即可,服務端根據配置是否更新合流的操作,
游客端:
流程: 游客初始化RTC后,初始化播放器,播放RTMP,申請連麥通過后,呼叫加入頻道方法,加入頻道成功后,停止播放RTMP,下麥后,呼叫leaveChannel,并呼叫播放器的播放進行播放RTMP流:
4、配套SDK
實時訊息SDK: 使用RTM SDK 進行信令互動,申請連麥、同意、拒絕的訊息送達,訊息送到后座對應的邏輯處理,
實時音視頻SDK: 使用RTC SDK 進行音視頻通信,根據用戶身份的角色使用配套的SDK
播放器類: 游客端呼叫,負責播放RTMP,當上麥的時候停止播放,并呼叫RTC的加入房間,當下麥的時候,離開頻道,并繼續呼叫播放器的播放,
Demo演示
主播端
游客端
demo功能介紹:
發送彈幕: 實時訊息互動,
申請上麥: 申請上麥下麥,
音樂播放: 背景音樂跟主播聲音進行混音播放,
控制音量: 可以調節音樂聲、人聲、和耳返的聲音,
下載鏈接
Android端:https://www.pgyer.com/fRjW
iOS端:https://www.pgyer.com/PGLT
以上就是anyRTC語音連麥demo的大致介紹,歡迎大家下載體驗,想了解更多關于音視頻的資訊咨詢請關注anyRTC官網:https://www.anyrtc.io/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/248169.html
標籤:其他
上一篇:LabVIEW小游戲實體 / 超級像素鳥 / Super Flappy Bird / 布爾燈趣味編程 / 事件結構按鍵的使用 / LabVIEW 學習
