0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一套代碼快速實(shí)現(xiàn)一個(gè)語音聊天室

BYXG_shengwang ? 來源:未知 ? 作者:胡薇 ? 2018-06-29 15:52 ? 次閱讀

語音聊天在泛娛樂社交行業(yè)中有著重要的地位,行業(yè)中很多佼佼者也都為用戶提供了語音聊天室,甚至有些平臺(tái)最初就是依托語音聊天起家的。從最初的一對(duì)一語音,到以 YY 為引爆點(diǎn)的多人語音群聊,再到現(xiàn)在聚集了一批“音控”且月流水能達(dá)到1億的純語音社交平臺(tái),很多類型的應(yīng)用中都有語音聊天室,我們來簡(jiǎn)單列舉幾個(gè)。

語音電臺(tái)

這是語音聊天室中比較典型的場(chǎng)景。主播可以在直播間中與給聽眾講故事、唱歌,內(nèi)容形式不一而足,觀眾也可以申請(qǐng)上麥,與主播聊天互動(dòng)。主要實(shí)現(xiàn)的功能就是語音連麥,以及通過消息系統(tǒng)來實(shí)現(xiàn)的文字消息功能??此坪?jiǎn)單,但是有些優(yōu)質(zhì)的語音社交平臺(tái)能達(dá)到每月1億的流水。

語音開黑

目前還有一些游戲不支持實(shí)時(shí)語音通話的功能。同時(shí),也有一些王者玩家想收費(fèi)帶青銅小白上分,而游戲中不支持付費(fèi)帶玩,那么語音聊天室成為了滿足需求的出口。在一些應(yīng)用中,玩家可以通過可付費(fèi)預(yù)約的語音聊天室,允許其他玩家預(yù)約陪玩的,同時(shí)還可以語音開黑。功能上與語音直播相似,只是在這個(gè)頻道中,不需要增加觀眾上下麥的邏輯。

以上只是包含了語音聊天的部分場(chǎng)景而已,綜上來看,語音聊天室需要滿足的主要功能包括:支持多人參與的語音聊天;支持播放背景音樂;支持設(shè)置背景圖片;

如何實(shí)現(xiàn)語音聊天室

要實(shí)現(xiàn)一個(gè)具備以上功能的語音聊天室,大致可以分為兩步:實(shí)現(xiàn)語音連麥、支持背景音樂播放。

首先是實(shí)現(xiàn)語音連麥。如果要通過自研的方法實(shí)現(xiàn),會(huì)相對(duì)復(fù)雜一些,不僅需要自己部署服務(wù)器并做好高并發(fā)應(yīng)對(duì),對(duì)編解碼器進(jìn)行優(yōu)化以解決回聲和噪聲問題,還要合理部署邊緣節(jié)點(diǎn)來解決網(wǎng)絡(luò)延時(shí)問題。而以上這些問題,我們?cè)缫褳?a target="_blank">開發(fā)者解決,并將接口集成于聲網(wǎng) SDK 中。同時(shí),我們?yōu)榱藥烷_發(fā)者們快速實(shí)現(xiàn),現(xiàn)已正式推出語音聊天室場(chǎng)景化方案。

語音聊天室場(chǎng)景化方案是基于聲網(wǎng)視頻通話 SDK 實(shí)現(xiàn)的。為什么是視頻通話 SDK 而不是語音 SDK 呢?視頻通話 SDK 支持語音與視頻功能。若開發(fā)者做好語音聊天室后,還可以根據(jù)自己需要在該基礎(chǔ)上實(shí)現(xiàn)視頻連麥。而且,更便于已經(jīng)開發(fā)視頻連麥直播的開發(fā)者,進(jìn)一步實(shí)現(xiàn)語音聊天室。下圖為語音聊天室場(chǎng)景化方案的架構(gòu)圖與實(shí)現(xiàn)思路:

首先,房主一端創(chuàng)建 RtcEngine 對(duì)象,并填入 App ID。通過setChannelProfile 將頻道設(shè)置為直播模式。然后用 setClientRole 來設(shè)定主播(Broadcaster)和觀眾(Audience)的角色。在主播或觀眾離開房間時(shí),通過調(diào)用LeaveChannel來完成。我們可以通過一張圖,來了解語音聊天室中接口調(diào)用邏輯:

其次,我們還可以為語音聊天室增加背景音樂。主播可以在自己的客戶端上選擇要播放的音樂,然后通過 SDK 的 AudioMixing 接口在本地與主播語音混音后播放給連麥聽眾和普通聽眾。

觀眾上下麥、主播離開房間、聊天背景圖片的切換等控制消息,都會(huì)通過消息系統(tǒng)來實(shí)現(xiàn)。消息服務(wù)器還承載著另一個(gè)任務(wù),就是傳輸用戶在來聊天室中的文字消息的傳輸。

最后,考慮到在娛樂直播、游戲開黑、社交,甚至是教育場(chǎng)景下的語音聊天室,對(duì)于聲音的碼率、采樣率、聲道數(shù)的需求都有細(xì)微差別。我們?cè)赟DK中,還提供了“設(shè)置音質(zhì)”的接口,即 setAudioProfile,供開發(fā)者根據(jù)實(shí)際聽到的效果來自由調(diào)整。

舉個(gè)例子,如果做的是娛樂方向的應(yīng)用,會(huì)遇到聽眾頻繁上下麥,并且需要48 KHz采樣率、音樂編碼、雙聲道、編碼碼率 192 kbps,那么可按照上述代碼來設(shè)置 profile、scenario。SDK 中對(duì)這個(gè)接口的 profile 與 scenario 各有5個(gè)不同的參數(shù)設(shè)置,具體大家可點(diǎn)擊「閱讀原文」查看 setAudioProfile 的詳細(xì)文檔。

聲網(wǎng)語音聊天室場(chǎng)景化方案

有些開發(fā)者希望以語音社交切入泛娛樂市場(chǎng),也有一些市場(chǎng)上的視頻社交玩家,希望加入語音聊天室,來進(jìn)一步拓展市場(chǎng)版圖。由于該場(chǎng)景方案是基于聲網(wǎng)視頻通話 SDK 實(shí)現(xiàn),可以同時(shí)滿足以上兩種需求。

我們?cè)?Github 已經(jīng)提供了一套完整的 Demo,大家可以點(diǎn)擊「閱讀原文」在開發(fā)者文檔中心獲取。在 Demo 的基礎(chǔ)上,開發(fā)者只需要不到1周的時(shí)間,對(duì) UI 和功能做簡(jiǎn)單修改即可準(zhǔn)備測(cè)試上線。語音聊天室場(chǎng)景化方案的優(yōu)勢(shì)包括:

76ms 低延時(shí)

聲網(wǎng) SDK 實(shí)現(xiàn)了全球平均端到端76ms 的實(shí)時(shí)音視頻低延時(shí)傳輸。聲網(wǎng)Agora SD-RTN? 實(shí)時(shí)通信網(wǎng)絡(luò)采用私有 UDP 協(xié)議進(jìn)行傳輸,基于軟件定義優(yōu)化路由選擇最優(yōu)傳輸路徑,自動(dòng)規(guī)避網(wǎng)絡(luò)擁塞和骨干網(wǎng)絡(luò)故障帶來的影響。同時(shí),根據(jù)我們的統(tǒng)計(jì),除了電信、聯(lián)通、移動(dòng)三大運(yùn)營(yíng)商,全國(guó)還有約2%的小運(yùn)營(yíng)商用戶。聲網(wǎng)也已覆蓋支持了這2%用戶所在的數(shù)十家中小運(yùn)營(yíng)商。

44.1KHz 高音質(zhì)

對(duì)于面向“音控”用戶的產(chǎn)品來講,必須要保證主播音質(zhì)和背景樂音質(zhì)的還原度。聲網(wǎng)語音聊天室場(chǎng)景化方案能保證低延時(shí)傳輸?shù)耐瑫r(shí),支持192Kbps 44.1KHz 高音質(zhì)語音。

快速且易于集成

通過幾個(gè)接口的調(diào)用即可實(shí)現(xiàn)語音聊天室。對(duì)于初次接觸聲網(wǎng) SDK 的開發(fā)者,我們還提供了完成度較高的 Demo,開發(fā)者在根據(jù)自己的需求修改 UI 與功能后,即可在短時(shí)間內(nèi)完成產(chǎn)品原型的開發(fā)。同時(shí),SDK 已經(jīng)為開發(fā)者提供消息系統(tǒng),可以直接通過接口調(diào)用。

高靈活度與擴(kuò)展性

基于該方案開發(fā)的泛娛樂社交產(chǎn)品,可以在無需增加新 SDK 的情況下,進(jìn)一步實(shí)現(xiàn)視頻聊天室。同時(shí),對(duì)于聲網(wǎng)的老用戶來講,在原先視頻連麥產(chǎn)品的基礎(chǔ)上,快速實(shí)現(xiàn)語音聊天室。另外,聲網(wǎng) SDK 還為開發(fā)者提供更多接口來進(jìn)一步實(shí)現(xiàn)更多功能。

目前,專注于語音社交的荔枝,在游戲開黑方面的佼佼者 HeyHey,以及在海外市場(chǎng)做得風(fēng)生水起的直播應(yīng)用 Yalla 都在使用由聲網(wǎng) SDK 提供的實(shí)時(shí)音視頻服務(wù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1020

    瀏覽量

    45697

原文標(biāo)題:從底層核心到UI,一套代碼快速實(shí)現(xiàn)語音聊天室

文章出處:【微信號(hào):shengwang-agora,微信公眾號(hào):聲網(wǎng)Agora】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    一套電源ATE自動(dòng)測(cè)試系統(tǒng)如何完成多型號(hào)電源模塊測(cè)試?

    在使用NSAT-8000電源ATE測(cè)試系統(tǒng)后,鑒于不同型號(hào)的VPX電源生產(chǎn)工藝、參數(shù)有所不同,工程師可根據(jù)電源型號(hào)搭建相應(yīng)的測(cè)試項(xiàng)目和方案,一套系統(tǒng)便完成了該公司多型號(hào)的電源模塊測(cè)試,減少了測(cè)試成本。
    的頭像 發(fā)表于 09-18 18:20 ?178次閱讀
    <b class='flag-5'>一套</b>電源ATE自動(dòng)測(cè)試系統(tǒng)如何完成多型號(hào)電源模塊測(cè)試?

    如何設(shè)計(jì)出一套用于移動(dòng)式綜合監(jiān)測(cè)站管理的軟件系統(tǒng)

    如何設(shè)計(jì)出一套用于移動(dòng)式綜合監(jiān)測(cè)站管理的軟件系統(tǒng) 要設(shè)計(jì)并實(shí)現(xiàn)一套系統(tǒng),用于管理移動(dòng)式綜合監(jiān)測(cè)站,并具備繪制其動(dòng)態(tài)位置變化圖和部署時(shí)間分布圖的功能,我們需要從系統(tǒng)的整體架構(gòu)設(shè)計(jì)、功能模塊劃分
    的頭像 發(fā)表于 09-10 18:15 ?153次閱讀

    庫(kù)聯(lián)管聯(lián)控系統(tǒng)DW-S306|是一套智能化系統(tǒng)

    裝備庫(kù)聯(lián)管聯(lián)控系統(tǒng),形成一套上下統(tǒng)、功能完善的管理體系,建設(shè)個(gè)功能完善、運(yùn)轉(zhuǎn)有效、規(guī)范有序?yàn)槟繕?biāo),
    的頭像 發(fā)表于 08-17 16:20 ?146次閱讀
    庫(kù)<b class='flag-5'>室</b>聯(lián)管聯(lián)控系統(tǒng)DW-S306|是<b class='flag-5'>一套</b>智能化系統(tǒng)

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

    如何用java語言開發(fā)一套數(shù)字化產(chǎn)科系統(tǒng) 數(shù)字化產(chǎn)科管理平臺(tái)源碼
    的頭像 發(fā)表于 07-06 09:38 ?962次閱讀
    如何用java語言開發(fā)<b class='flag-5'>一套</b>數(shù)字化產(chǎn)科系統(tǒng)? 數(shù)字化產(chǎn)科管理平臺(tái)源碼

    在不同的電腦上啟動(dòng)同一套代碼時(shí),出現(xiàn)編譯路徑錯(cuò)誤的提示怎么解決?

    不同的電腦上安裝esp-idf的路徑不同時(shí),啟動(dòng)同一套代碼時(shí)會(huì)出現(xiàn): 無法找到“D:\\Espressif\\tools\\xtensa-esp32-elf\\esp-2022r1-11.2.0
    發(fā)表于 06-11 06:54

    SOLIDWORKS正版多少錢一套

    迅速有效地完成產(chǎn)品設(shè)計(jì)與工程分析工作。對(duì)很多企業(yè)及個(gè)人而言,選購(gòu)SOLIDWORKS正版軟件對(duì)保證設(shè)計(jì)質(zhì)量及工作效率都是個(gè)非常重要的選擇。但是,SOLIDWORKS正版軟件由于版本、功能等原因,其價(jià)格也有定差別。 ? 目前S
    的頭像 發(fā)表于 05-30 15:52 ?2712次閱讀
    SOLIDWORKS正版多少錢<b class='flag-5'>一套</b>

    介紹一套高效率適配多種電壓輸出的65W快充方案

    本期介紹一套高效率適配多種電壓輸出的65W快充方案。本方案擁有良好的性能和完善的保護(hù)功能,且內(nèi)置抖頻功能,具有良好的EMI性能,適用于充電器,適配器及其他開放式電源等多種應(yīng)用場(chǎng)合。
    的頭像 發(fā)表于 04-19 18:03 ?1263次閱讀
    介紹<b class='flag-5'>一套</b>高效率適配多種電壓輸出的65W快充方案

    UEFIRC:運(yùn)行于UEFI環(huán)境下的IRC聊天室

    據(jù)悉,開源開發(fā)者Phillip Tennen展示了基于UEFI的沉浸式IRC網(wǎng)絡(luò)聊天室:UREFIRC原型設(shè)計(jì)。該設(shè)計(jì)無需進(jìn)入操作系統(tǒng),僅在UEFI環(huán)境內(nèi)運(yùn)行。
    的頭像 發(fā)表于 04-08 16:16 ?552次閱讀

    ICON發(fā)布一套新型建筑3D打印硬件、軟件和材料

    2024年3月,先進(jìn)建筑公司ICON 發(fā)布了一套實(shí)現(xiàn)建筑自動(dòng)化的新產(chǎn)品和技術(shù),包括能夠實(shí)現(xiàn)多層建筑的全新機(jī)器人打印機(jī)、新型低碳建筑材料、包含 60 多種現(xiàn)成住宅設(shè)計(jì)的住宅建筑數(shù)字目錄,以及用于住宅設(shè)計(jì)和施工的 AI 建筑師。
    的頭像 發(fā)表于 04-07 18:27 ?1108次閱讀

    NASA將測(cè)試一套用于地球科學(xué)遙感的新型激光雷達(dá)(LiDAR)技術(shù)

    據(jù)麥姆斯咨詢報(bào)道,美國(guó)國(guó)家航空航天局(NASA)工程師將于今年夏天在飛機(jī)上測(cè)試一套用于地球科學(xué)遙感的新型激光雷達(dá)(LiDAR)技術(shù)。
    的頭像 發(fā)表于 04-02 09:15 ?706次閱讀

    庫(kù)裝備管理系統(tǒng)|智裝備DW-S301系統(tǒng)是一套成熟系統(tǒng)

    、系統(tǒng)概述 部隊(duì)庫(kù)裝備管理系統(tǒng)(智裝備DW-S301)是一套成熟系統(tǒng),依托互3D技術(shù)、云計(jì)算、大數(shù)據(jù)、RFID技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、AI、視頻分析技術(shù)對(duì)RFID智能倉(cāng)庫(kù)進(jìn)行統(tǒng)管理、分
    的頭像 發(fā)表于 02-02 10:42 ?469次閱讀
    庫(kù)<b class='flag-5'>室</b>裝備管理系統(tǒng)|智裝備DW-S301系統(tǒng)是<b class='flag-5'>一套</b>成熟系統(tǒng)

    如何用萬界星空科技低代碼平臺(tái)快速開發(fā)個(gè)MES系統(tǒng)?

    如今,越來越多的企業(yè)選擇低代碼開發(fā)平臺(tái),讓企業(yè)實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型。但是你好奇“低代碼開發(fā)平臺(tái)”能做什么嗎?“低代碼開發(fā)平臺(tái)”是指用于快速開發(fā)應(yīng)用
    的頭像 發(fā)表于 12-08 11:39 ?535次閱讀
    如何用萬界星空科技低<b class='flag-5'>代碼</b>平臺(tái)<b class='flag-5'>快速</b>開發(fā)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>MES系統(tǒng)?

    python如何直循環(huán)個(gè)代碼

    在Python中,有幾種方法可以實(shí)現(xiàn)代碼的循環(huán)執(zhí)行。下面我將詳盡、詳實(shí)、細(xì)致地介紹這些方法和它們的使用情況。 使用while循環(huán): 在Python中,可以使用while循環(huán)來重復(fù)執(zhí)行代碼,直到
    的頭像 發(fā)表于 11-23 15:54 ?2428次閱讀

    使用C語言寫的個(gè)輕量級(jí)聊天應(yīng)用!

    SmallChat支持文本、圖片、語音和視頻等多種聊天方式。用戶可以在聊天窗口中輸入文字,并發(fā)送圖片、語音和視頻消息。同時(shí),還支持多人語音
    的頭像 發(fā)表于 11-17 16:27 ?1293次閱讀
    使用C語言寫的<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>輕量級(jí)<b class='flag-5'>聊天</b>應(yīng)用!

    怎么和ChatGPT語音聊天

    ChatGPT語音聊天免打字輸入、訓(xùn)練外語口說能力的好幫手。 ChatGPT手機(jī)App的語音聊天功能是陸續(xù)開放給全球Plus用戶,ChatGPT Plus用戶先確認(rèn)App是否已經(jīng)更新到
    的頭像 發(fā)表于 11-14 17:36 ?3161次閱讀
    怎么和ChatGPT<b class='flag-5'>語音</b><b class='flag-5'>聊天</b>?