這句話相信大家都不陌生,甚至是不少開發者的信條。這是 Linus Torvalds 最為人稱道的金句,而提起他,人們還會立馬聯想到另一個詞,開源。
上世紀九十年代,Linus Torvalds 采用自由軟件許可證—— GNU 通用公共許可證,發布了 Linux,成為當時開源浪潮的主戰場。此后,Linux 在成千上萬開發者的貢獻下,逐漸成為世界上最受歡迎的操作系統。
二十幾年過去了,業界關于開源與商業的齟齬依然未解。但開源在全球范圍內的高速發展已經讓人無法忽視。
事實上,軟件開發本身就是一種社會化的、集體性的智慧活動,大部分的軟件是基于開源基礎架構搭建的,復用大量已有的庫和工具。
開源不僅僅是程序員的技術信仰,更是全球軟件技術和產業創新的主導模式,是加速基礎軟件創新,加強社會協作,提升效率、擴充生態的高效方式。
作為以開發者為中心的科技企業,創辦 8 年來,融云始終是開源生態的參與者和貢獻者。


近期,融云將多個場景化組件開源,包含音樂播放、聊天室、語聊房、視頻直播、語音電臺、音視頻通話等開箱即用的 UI 解決方案。在 Github 搜索 RongCloud,即可查看相關開源項目代碼。
這是融云在封裝最佳行業實踐推出第三代場景化 SDK,改變行業供給舊范式之后,進一步服務行業,回饋社區的關鍵之舉。期待收到更多開發者的反饋,共同推進行業發展。移步【融云全球互聯網通信云】免費體驗。
融云場景化組件開源
歡迎開發者使用和反饋
1. 場景化音樂播放組件
場景化音樂 Kit 是融云為開發者提供的開源項目,適用于語聊房、電臺房、視頻直播等常見社交場景。Kit 封裝了音樂播放列表、音樂庫列表、音量控制、氛圍控制等常見 UI 組件。開發者只需提供音樂數據源并且根據相關回調設置 RTC 相關控制,即可快速實現房間內音樂播放等功能。

(融云場景化音樂播放組件)
功能組件
① 音樂播放列表
音樂列表提供了常見的音樂播放、暫停、置頂、刪除等邏輯及 UI 功能展示,開發者可以根據回調執行相應的混音操作或播放器播放操作即可。
播放/暫停:點擊音樂條目可執行播放和暫停的回調,開發者可以控制房間內的音樂混音的開始和暫停邏輯。
置頂:每個音樂條目后面有置頂按鈕,開發者可點擊置頂,把想要置頂的音樂移動到正在播放的音樂的下方。
刪除:每個音樂條目后面有刪除按鈕,可以把該音樂移除播放列表。
② 音樂庫
音樂庫列表提供了常見的音樂添加、搜索、分頁加載等邏輯及 UI 功能展示,開發者可以根據回調提供相應的數據即可正常顯示。
分類展示:可按照歌曲分類展示不同的音樂列表。
列表展示:音樂列表按照開發者提供的音樂數據做展示,支持添加到播放列表功能,分頁加載功能,本地上傳功能(上傳后添加到播放列表)。
搜索歌曲:輸入想搜索的歌曲,點擊搜索后,會回調音樂搜索的接口,開發者只需在自己的曲庫中做搜索然后把數據傳遞給列表即可展示搜索結果。
③ 音量控制
音樂控制提供了常見的房間內音量控制,包括本端音量、遠端音量、麥克風音量、混音等功能,開發者可以根據回調操作具體的音量設置。
本端音量:一般指主播端播放的音量,可以根據回調設置本端音量。
遠端音量:一般指觀眾端播放的音量,可以根據回調設置遠端音量。
麥克風音量:一般指主播端說話時麥克風傳入的音量,可以根據回調設置麥克風音量。
耳返:一般指主播端戴耳機的情況下,是否開啟耳機耳返功能,可以根據回調控制。
④ 氛圍控制
氛圍控制提供了一些進場氛圍音效管理,開發者可以根據自己業務需求定制一些進場音效,根據數據回調返回UI 層做展示,當點擊相應的氛圍時,調用 RTC 相應的氛圍播放 API。
特性
集成簡單:用戶只需要依賴遠端倉庫或開源項目的源碼即可快速使用。
功能完善:常見的播放列表、音樂庫、音量控制、氛圍控制等一應俱全,用戶可根據自身需要做增加或刪減。
可定制化:在源碼的基礎上,用戶可以根據自己業務需求改動相應代碼即可快速定制化。
可用性強:用戶只需關心數據源和相應的操作回調,內部沒有封裝 RTC 任何邏輯,根據回調調用相應 RTC 的 API 即可。
2. 場景化聊天室組件
RCChatroomSceneKit 是一組包含消息列表、底部工具欄、輸入框的 UI 組件,可廣泛用于即時通訊、語聊房、視頻直播、實時社區等應用里的聊天交互模塊,支持 iOS/Android 兩個端。
功能組件
RCChatroomSceneKit 主要有三大組件:
① 消息列表
常顯示在直播間等界面左下部分,顯示公屏消息、觀眾評論、禮物通知等,消息樣式可靈活自定義。
② 底部工具欄
顯示在最底部,常見形式是左邊一個輸入框,右邊為一組按鈕均勻排列,使用者可自由定義按鈕功能樣式。
③ 鍵盤聯動輸入框
由底部工具欄左邊輸入框點擊喚起,隨著系統鍵盤升起/消失。支持多行輸入,文字段落動態滾動。
特性
API 設計精簡極致,易用,上手快。
豐富的擴展接口,盡可能滿足開發者多種需求,如消息體樣式、工具欄按鈕等均可自定義。
支持 JSON 配置文件自定義 UI 樣式屬性,讓開發者有美工一樣的體驗。
3. 場景化語聊房組件
RCSceneVoiceRoom 是根據主流語聊房場景開發設計的開源倉庫,通過 RCVoiceRoomLib 提供的業務化接口,快速實現語聊房應用。包含房間管理、麥位管理、聊天室消息、贈送禮物、多人連麥等語聊房必備能力。
功能組件
RCSceneVoiceRoom 核心能力主要有:
① 多人連麥
房間內觀眾可以通過申請連麥、邀請連麥、自由上麥的方式進行連麥。
② 麥位管理
房主或管理員可以控制麥位閉麥和鎖麥,也可以快速全量閉麥和鎖麥。
③ 聊天室消息
顯示在最底部,房間內用戶可以發送文字、表情、語音等類型消息,點擊消息可以查看用戶信息。
④ 贈送禮物
支持指定用戶或全麥用戶打賞,分為普通禮物和全服禮物,全服禮物在所有房間展示并支持跳轉。
⑤ 音樂播放
房主可以通過混音模式播放音樂,支持音樂收藏、搜索、分類、浮窗、音量控制、耳返等功能。
特性
簡潔:移動端只需一行代碼即可接入語聊房功能,開發者不需要花費太長的時間學習,不用關心內部實現,只需對接簡單的接口和抽象的回調。
穩定:語聊房組件提供了穩定的業務能力。API 的設計更抽象化,除非特殊情況,接口不會更改,更多的是對接口能力的擴展。所有功能都經過嚴格測試,確保在運行期間的穩定。
豐富:語聊房組件覆蓋全部主流業務功能,提供一套完整的 UI 設計,并將不斷更新依賴組件,如禮物動效、更多類型的麥位布局等。
4. 場景化視頻直播組件
RCSceneVideoRoom 是基于 RCLiveVideoLib 快速實現的視頻直播場景化組件。
開發者可以在移動端通過一行代碼實現視頻直播場景;視頻直播通過 RCLiveVideoLib 的內置布局和自定義布局實現了快速切換連麥布局的功能,涵蓋絕大多數主流業務場景的布局方式;包含房間管理、麥位管理、聊天室消息、贈送禮物、多人連麥、跨房間 PK 等社交娛樂場景必備的能力。
5. 場景化語音電臺組件
RCSceneRadioRoom 是對 IM 和 RTC 的能力在語音電臺場景的快速實現,通過使用 CDN 推拉流的技術,實現單主播語音直播,不限觀眾收聽。在語音電臺場景配置了聊天室消息、贈送禮物、音樂播放等功能。
6. 場景化音視頻通話組件
RCSceneCall 是基于融云 RCCallLib 對于呼叫場景的完整封裝,支持常規的單人音頻和視頻呼叫,并增加了撥號鍵盤和撥號記錄等業務功能。
開源、協作
有效提升數字世界生產力
在當代社會嚴密的商業秩序之下,開源保留著互聯網精神最初的美好——共享、公開,讓信息更容易獲取、更加自由。開源的驅動力本身就凝聚了工程師的這種理想主義情結,也構成和代表著互聯網的開放精神內核:我為人人,人人為我。
“當你基于自己的積累對一個問題有了更好的解決方案,難免手癢想要分享給其他人。”這是選擇開源的大部分工程師的出發點,繼而基于社區的反饋和用戶的共建,打造活躍而廣泛的生態,促進項目的高速、可持續發展,改進和完善項目。
經過了二十幾年的發展,開源產業越來越成熟,進入高速發展期,越來越多公司加入開源共建。
根據 GitHub 數據,2021 年 GitHub 新增活躍用戶數超過 1600 萬,新增活躍代碼倉庫數量超過 6100 萬。
在國內,對開源的關注首先表現在國家戰略層的重視上。“十四五”規劃明確寫到支持開源社區發展,鼓勵企業開放軟件源代碼,開源成為促進我國數字經濟發展的一項重要策略。開放原子開源基金會的注冊成立也是國內開源產業成熟的一個標志性事件,開源迎來了一個前所未有的好時期。
GitHub 數據顯示,中國開發者已達 755萬+,數量排名第二。
開源對軟件開發最直接的意義,在于提高生產力。一方面是基于前人的成果繼續創新,“不要重復造輪子”;另一方面是通過共建共同推進領域發展。
在“一切為了開發者”的發展宗旨下,融云的使命之一就是幫助開發者更加多、快、好、省地完成軟件開發和業務實現。開源也是融云工程師文化的一部分,8 年來,在 IM 即時通訊和 RTC 實時音視頻技術持續精進和引領行業的過程中,融云不斷抽取典型用例進行開源。
隨著語聊房、直播等線上娛樂產業的發展,融云的通信云服務在社交、泛娛樂、游戲等領域遍地開花,并不斷積累垂直行業經驗。在服務開發者的過程中,融云抽取最佳實踐推出第三代場景化 SDK,支持開發者開箱即用地研發語聊房、直播、音視頻通話等應用。
疫情之下,泛娛樂社交市場需求空前,市場上出現了大量相關產業軟件開發人員,他們需要更多的技能、用例和工具。
融云將陸續開源全套內嵌業務邏輯的體系化組件,免去開發者們對一些通用組件的重復開發,需要解決類似問題的開發者可以直接使用,從而得以將精力集中在其他更有價值和創意的方向。
在由軟件構筑的數字世界中,開源是提高人類共同生產力的有效協作方式。未來,融云場景化還將開源禮物、麥位管理等核心組件,持續為行業貢獻自己在具體領域的成熟解決方案,拓寬技術的應用領域,為外部需求貢獻的同時也讓自身技術在更多用例的反饋下更加成熟,走向社區、共建生態。






