场景化组件开源,融云持续回馈开源生态

  Talk is cheap. Show me the code.

  这句话相信大家都不陌生,甚至是不少开发者的信条。这是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,支持开发者开箱即用地研发语聊房、直播、音视频通话等应用。

  疫情之下,泛娱乐社交市场需求空前,市场上出现了大量相关产业软件开发人员,他们需要更多的技能、用例和工具。

  融云将陆续开源全套内嵌业务逻辑的体系化组件,免去开发者们对一些通用组件的重复开发,需要解决类似问题的开发者可以直接使用,从而得以将精力集中在其他更有价值和创意的方向。

  在由软件构筑的数字世界中,开源是提高人类共同生产力的有效协作方式。未来,融云场景化还将开源礼物、麦位管理等核心组件,持续为行业贡献自己在具体领域的成熟解决方案,拓宽技术的应用领域,为外部需求贡献的同时也让自身技术在更多用例的反馈下更加成熟,走向社区、共建生态。

(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )