語音聊天在泛娛樂社交行業(yè)中有著重要的地位,行業(yè)中很多佼佼者也都為用戶提供了語音聊天室,甚至有些平臺最初就是依托語音聊天起家的。從最初的一對一語音,到以 YY 為引爆點的多人語音群聊,再到現(xiàn)在聚集了一批“音控”且月流水能達到1億的純語音社交平臺,很多類型的應用中都有語音聊天室,我們來簡單列舉幾個。
語音電臺
這是語音聊天室中比較典型的場景。主播可以在直播間中與給聽眾講故事、唱歌,內容形式不一而足,觀眾也可以申請上麥,與主播聊天互動。主要實現(xiàn)的功能就是語音連麥,以及通過消息系統(tǒng)來實現(xiàn)的文字消息功能。看似簡單,但是有些優(yōu)質的語音社交平臺能達到每月1億的流水。
語音開黑
目前還有一些游戲不支持實時語音通話的功能。同時,也有一些王者玩家想收費帶青銅小白上分,而游戲中不支持付費帶玩,那么語音聊天室成為了滿足需求的出口。在一些應用中,玩家可以通過可付費預約的語音聊天室,允許其他玩家預約陪玩的,同時還可以語音開黑。功能上與語音直播相似,只是在這個頻道中,不需要增加觀眾上下麥的邏輯。
以上只是包含了語音聊天的部分場景而已,綜上來看,語音聊天室需要滿足的主要功能包括:支持多人參與的語音聊天;支持播放背景音樂;支持設置背景圖片;
如何實現(xiàn)語音聊天室
要實現(xiàn)一個具備以上功能的語音聊天室,大致可以分為兩步:實現(xiàn)語音連麥、支持背景音樂播放。
首先是實現(xiàn)語音連麥。如果要通過自研的方法實現(xiàn),會相對復雜一些,不僅需要自己部署服務器并做好高并發(fā)應對,對編解碼器進行優(yōu)化以解決回聲和噪聲問題,還要合理部署邊緣節(jié)點來解決網(wǎng)絡延時問題。而以上這些問題,我們早已為開發(fā)者解決,并將接口集成于聲網(wǎng) SDK 中。同時,我們?yōu)榱藥烷_發(fā)者們快速實現(xiàn),現(xiàn)已正式推出語音聊天室場景化方案。
語音聊天室場景化方案是基于聲網(wǎng)視頻通話 SDK 實現(xiàn)的。為什么是視頻通話 SDK 而不是語音 SDK 呢?視頻通話 SDK 支持語音與視頻功能。若開發(fā)者做好語音聊天室后,還可以根據(jù)自己需要在該基礎上實現(xiàn)視頻連麥。而且,更便于已經(jīng)開發(fā)視頻連麥直播的開發(fā)者,進一步實現(xiàn)語音聊天室。下圖為語音聊天室場景化方案的架構圖與實現(xiàn)思路:
首先,房主一端創(chuàng)建 RtcEngine 對象,并填入 App ID。通過setChannelProfile 將頻道設置為直播模式。然后用 setClientRole 來設定主播(Broadcaster)和觀眾(Audience)的角色。在主播或觀眾離開房間時,通過調用LeaveChannel來完成。我們可以通過一張圖,來了解語音聊天室中接口調用邏輯:
其次,我們還可以為語音聊天室增加背景音樂。主播可以在自己的客戶端上選擇要播放的音樂,然后通過 SDK 的 AudioMixing 接口在本地與主播語音混音后播放給連麥聽眾和普通聽眾。
觀眾上下麥、主播離開房間、聊天背景圖片的切換等控制消息,都會通過消息系統(tǒng)來實現(xiàn)。消息服務器還承載著另一個任務,就是傳輸用戶在來聊天室中的文字消息的傳輸。
最后,考慮到在娛樂直播、游戲開黑、社交,甚至是教育場景下的語音聊天室,對于聲音的碼率、采樣率、聲道數(shù)的需求都有細微差別。我們在SDK中,還提供了“設置音質”的接口,即 setAudioProfile,供開發(fā)者根據(jù)實際聽到的效果來自由調整。
舉個例子,如果做的是娛樂方向的應用,會遇到聽眾頻繁上下麥,并且需要48 KHz采樣率、音樂編碼、雙聲道、編碼碼率 192 kbps,那么可按照上述代碼來設置 profile、scenario。SDK 中對這個接口的 profile 與 scenario 各有5個不同的參數(shù)設置,具體大家可點擊「閱讀原文」查看 setAudioProfile 的詳細文檔。
聲網(wǎng)語音聊天室場景化方案
有些開發(fā)者希望以語音社交切入泛娛樂市場,也有一些市場上的視頻社交玩家,希望加入語音聊天室,來進一步拓展市場版圖。由于該場景方案是基于聲網(wǎng)視頻通話 SDK 實現(xiàn),可以同時滿足以上兩種需求。
我們在 Github 已經(jīng)提供了一套完整的 Demo,大家可以點擊「閱讀原文」在開發(fā)者文檔中心獲取。在 Demo 的基礎上,開發(fā)者只需要不到1周的時間,對 UI 和功能做簡單修改即可準備測試上線。語音聊天室場景化方案的優(yōu)勢包括:
76ms 低延時
聲網(wǎng) SDK 實現(xiàn)了全球平均端到端76ms 的實時音視頻低延時傳輸。聲網(wǎng)Agora SD-RTN? 實時通信網(wǎng)絡采用私有 UDP 協(xié)議進行傳輸,基于軟件定義優(yōu)化路由選擇最優(yōu)傳輸路徑,自動規(guī)避網(wǎng)絡擁塞和骨干網(wǎng)絡故障帶來的影響。同時,根據(jù)我們的統(tǒng)計,除了電信、聯(lián)通、移動三大運營商,全國還有約2%的小運營商用戶。聲網(wǎng)也已覆蓋支持了這2%用戶所在的數(shù)十家中小運營商。
44.1KHz 高音質
對于面向“音控”用戶的產品來講,必須要保證主播音質和背景樂音質的還原度。聲網(wǎng)語音聊天室場景化方案能保證低延時傳輸?shù)耐瑫r,支持192Kbps 44.1KHz 高音質語音。
快速且易于集成
通過幾個接口的調用即可實現(xiàn)語音聊天室。對于初次接觸聲網(wǎng) SDK 的開發(fā)者,我們還提供了完成度較高的 Demo,開發(fā)者在根據(jù)自己的需求修改 UI 與功能后,即可在短時間內完成產品原型的開發(fā)。同時,SDK 已經(jīng)為開發(fā)者提供消息系統(tǒng),可以直接通過接口調用。
高靈活度與擴展性
基于該方案開發(fā)的泛娛樂社交產品,可以在無需增加新 SDK 的情況下,進一步實現(xiàn)視頻聊天室。同時,對于聲網(wǎng)的老用戶來講,在原先視頻連麥產品的基礎上,快速實現(xiàn)語音聊天室。另外,聲網(wǎng) SDK 還為開發(fā)者提供更多接口來進一步實現(xiàn)更多功能。
目前,專注于語音社交的荔枝,在游戲開黑方面的佼佼者 HeyHey,以及在海外市場做得風生水起的直播應用 Yalla 都在使用由聲網(wǎng) SDK 提供的實時音視頻服務。
-
SDK
+關注
關注
3文章
1062瀏覽量
47538
原文標題:從底層核心到UI,一套代碼快速實現(xiàn)語音聊天室
文章出處:【微信號:shengwang-agora,微信公眾號:聲網(wǎng)Agora】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
電力物資倉庫管理系統(tǒng) DW-S200是一套成熟系統(tǒng)

我想買一套儲氣罐超溫保護裝置帶證的
如何使用Java語言快速開發(fā)一套智慧工地系統(tǒng)(源碼)
HarmonyOS NEXT 原生應用開發(fā):社交聊天對話過程實現(xiàn)
Vector推出一套基于Visual Studio Code的免費插件

NLP技術在聊天機器人中的作用
一套電源ATE自動測試系統(tǒng)如何完成多型號電源模塊測試?

如何設計出一套用于移動式綜合監(jiān)測站管理的軟件系統(tǒng)
庫室聯(lián)管聯(lián)控系統(tǒng)DW-S306|是一套智能化系統(tǒng)

如何用java語言開發(fā)一套數(shù)字化產科系統(tǒng)? 數(shù)字化產科管理平臺源碼

一套java+ spring boot與 vue+ mysql技術開發(fā)的UWB高精度工廠人員定位全套系統(tǒng)源碼有應用案例

請問wwe和voip輸入音頻流是否可以合并到一起?
在不同的電腦上啟動同一套代碼時,出現(xiàn)編譯路徑錯誤的提示怎么解決?
一套java+ spring boot+與vue+ mysql技術開發(fā)的UWB高精度工廠人員定位全套系統(tǒng)源碼

SOLIDWORKS正版多少錢一套

評論