那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一套代碼快速實現一個語音聊天室

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

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

語音電臺

這是語音聊天室中比較典型的場景。主播可以在直播間中與給聽眾講故事、唱歌,內容形式不一而足,觀眾也可以申請上麥,與主播聊天互動。主要實現的功能就是語音連麥,以及通過消息系統來實現的文字消息功能??此坪唵?,但是有些優質的語音社交平臺能達到每月1億的流水。

語音開黑

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

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

如何實現語音聊天室

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

首先是實現語音連麥。如果要通過自研的方法實現,會相對復雜一些,不僅需要自己部署服務器并做好高并發應對,對編解碼器進行優化以解決回聲和噪聲問題,還要合理部署邊緣節點來解決網絡延時問題。而以上這些問題,我們早已為開發者解決,并將接口集成于聲網 SDK 中。同時,我們為了幫開發者們快速實現,現已正式推出語音聊天室場景化方案。

語音聊天室場景化方案是基于聲網視頻通話 SDK 實現的。為什么是視頻通話 SDK 而不是語音 SDK 呢?視頻通話 SDK 支持語音與視頻功能。若開發者做好語音聊天室后,還可以根據自己需要在該基礎上實現視頻連麥。而且,更便于已經開發視頻連麥直播的開發者,進一步實現語音聊天室。下圖為語音聊天室場景化方案的架構圖與實現思路:

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

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

觀眾上下麥、主播離開房間、聊天背景圖片的切換等控制消息,都會通過消息系統來實現。消息服務器還承載著另一個任務,就是傳輸用戶在來聊天室中的文字消息的傳輸。

最后,考慮到在娛樂直播、游戲開黑、社交,甚至是教育場景下的語音聊天室,對于聲音的碼率、采樣率、聲道數的需求都有細微差別。我們在SDK中,還提供了“設置音質”的接口,即 setAudioProfile,供開發者根據實際聽到的效果來自由調整。

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

聲網語音聊天室場景化方案

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

我們在 Github 已經提供了一套完整的 Demo,大家可以點擊「閱讀原文」在開發者文檔中心獲取。在 Demo 的基礎上,開發者只需要不到1周的時間,對 UI 和功能做簡單修改即可準備測試上線。語音聊天室場景化方案的優勢包括:

76ms 低延時

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

44.1KHz 高音質

對于面向“音控”用戶的產品來講,必須要保證主播音質和背景樂音質的還原度。聲網語音聊天室場景化方案能保證低延時傳輸的同時,支持192Kbps 44.1KHz 高音質語音。

快速且易于集成

通過幾個接口的調用即可實現語音聊天室。對于初次接觸聲網 SDK 的開發者,我們還提供了完成度較高的 Demo,開發者在根據自己的需求修改 UI 與功能后,即可在短時間內完成產品原型的開發。同時,SDK 已經為開發者提供消息系統,可以直接通過接口調用。

高靈活度與擴展性

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1045

    瀏覽量

    46281

原文標題:從底層核心到UI,一套代碼快速實現語音聊天室

文章出處:【微信號:shengwang-agora,微信公眾號:聲網Agora】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何使用Java語言快速開發一套智慧工地系統(源碼)

    使用Java語言快速開發一套智慧工地系統,可以遵循以下步驟和策略: 1、確定系統架構 微服務架構:采用Spring Cloud構建微服務,每個服務負責特定的功能模塊,如安全監控、人
    的頭像 發表于 01-09 17:39 ?185次閱讀

    HarmonyOS NEXT 原生應用開發:社交聊天對話過程實現

    實現思路 本DEMO旨在展示如何在HarmonyOS NEXT平臺上,利用ArkTS開發語言構建簡易的社交聊天對話界面。用戶可以在此
    發表于 01-07 10:55

    Vector推出一套基于Visual Studio Code的免費插件

    編寫工具(如Vector的CAPL Browser)雖然功能強大,但是結合Visual Studio Code更能夠滿足多語言編程和集成現代開發工具的需求。 因此,Vector推出一套基于Visual
    的頭像 發表于 11-24 14:15 ?630次閱讀
    Vector推出<b class='flag-5'>一套</b>基于Visual Studio Code的免費插件

    一套電源ATE自動測試系統如何完成多型號電源模塊測試?

    在使用NSAT-8000電源ATE測試系統后,鑒于不同型號的VPX電源生產工藝、參數有所不同,工程師可根據電源型號搭建相應的測試項目和方案,一套系統便完成了該公司多型號的電源模塊測試,減少了測試成本。
    的頭像 發表于 09-18 18:20 ?300次閱讀
    <b class='flag-5'>一套</b>電源ATE自動測試系統如何完成多型號電源模塊測試?

    如何設計出一套用于移動式綜合監測站管理的軟件系統

    如何設計出一套用于移動式綜合監測站管理的軟件系統 要設計并實現一套系統,用于管理移動式綜合監測站,并具備繪制其動態位置變化圖和部署時間分布圖的功能,我們需要從系統的整體架構設計、功能模塊劃分
    的頭像 發表于 09-10 18:15 ?252次閱讀

    聯管聯控系統DW-S306|是一套智能化系統

    裝備庫聯管聯控系統,形成一套上下統、功能完善的管理體系,建設功能完善、運轉有效、規范有序為目標,
    的頭像 發表于 08-17 16:20 ?212次閱讀
    庫<b class='flag-5'>室</b>聯管聯控系統DW-S306|是<b class='flag-5'>一套</b>智能化系統

    如何用java語言開發一套數字化產科系統? 數字化產科管理平臺源碼

    如何用java語言開發一套數字化產科系統 數字化產科管理平臺源碼
    的頭像 發表于 07-06 09:38 ?1070次閱讀
    如何用java語言開發<b class='flag-5'>一套</b>數字化產科系統? 數字化產科管理平臺源碼

    請問wwe和voip輸入音頻流是否可以合并到起?

    我希望將wwe和voip融合到起。通過wwe喚醒并且語音呼叫voip進行撥打電話。我看到wwe和voip采用了不同的音頻處理代碼。我不知道是否可以將兩
    發表于 06-28 07:57

    在不同的電腦上啟動同一套代碼時,出現編譯路徑錯誤的提示怎么解決?

    不同的電腦上安裝esp-idf的路徑不同時,啟動同一套代碼時會出現: 無法找到“D:\\Espressif\\tools\\xtensa-esp32-elf\\esp-2022r1-11.2.0
    發表于 06-11 06:54

    SOLIDWORKS正版多少錢一套

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

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

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

    UEFIRC:運行于UEFI環境下的IRC聊天室

    據悉,開源開發者Phillip Tennen展示了基于UEFI的沉浸式IRC網絡聊天室:UREFIRC原型設計。該設計無需進入操作系統,僅在UEFI環境內運行。
    的頭像 發表于 04-08 16:16 ?627次閱讀

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

    2024年3月,先進建筑公司ICON 發布了一套實現建筑自動化的新產品和技術,包括能夠實現多層建筑的全新機器人打印機、新型低碳建筑材料、包含 60 多種現成住宅設計的住宅建筑數字目錄,以及用于住宅設計和施工的 AI 建筑師。
    的頭像 發表于 04-07 18:27 ?1212次閱讀

    NASA將測試一套用于地球科學遙感的新型激光雷達(LiDAR)技術

    據麥姆斯咨詢報道,美國國家航空航天局(NASA)工程師將于今年夏天在飛機上測試一套用于地球科學遙感的新型激光雷達(LiDAR)技術。
    的頭像 發表于 04-02 09:15 ?892次閱讀

    基于OpenCV DNN實現YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?1869次閱讀
    基于OpenCV DNN<b class='flag-5'>實現</b>YOLOv8的模型部署與推理演示
    赌博百家乐的乐趣| 客服| 百家乐是骗人的么| 亳州市| 至尊百家乐娱乐平台| 百家乐官网代理每周返佣| 香港百家乐六合彩| 百家乐官网庄闲的概率| 百家乐软件官方| 巴林右旗| 马德里百家乐的玩法技巧和规则 | 百家乐程序软件| 网上百家乐官网如何作假| 国美百家乐的玩法技巧和规则| 澳门百家乐官网文章| 水果机规律| 百家乐官网玩法官网| 贵德县| 百家乐国际娱乐场开户注册| 利都百家乐官网国际娱乐平台 | 百家乐官网娱乐网官网网| 大西洋城娱乐| 三公百家乐在线哪里可以玩| 百家乐官网论坛博彩拉| 博彩旅游业| 澳门百家乐| 利都百家乐官网国际娱乐场开户注册 | 网络百家乐官网娱乐| 威尼斯人娱乐城反水| 网上百家乐官网哪里开户| 大发888的微博| 百家乐筹码方形筹码| 百家乐官网自动下注| 保时捷娱乐城可靠吗| 百家乐真人游戏娱乐场| 百家乐官网如何看| 云安县| 永利高娱乐城| 百家乐博彩优惠论坛| 澳门百家乐官网赌博技巧| 鼎龙娱乐城|