Talk is cheap. Show me the code. Follow [Rongyun Global Internet Communication Cloud] to learn more
I believe this sentence is familiar to everyone, and even the creed of many developers. This is the most famous saying of Linus Torvalds, and when it comes to him, people will immediately think of another word, open source.
In the 1990s, Linus Torvalds released Linux using a free software license, the GNU General Public License, which became the main battlefield of the open source wave at that time. Since then, Linux has gradually become the most popular operating system in the world with the contributions of thousands of developers.
More than two decades later, the industry's discord between open source and business is still unresolved. But the rapid development of open source on a global scale has made it impossible to ignore.
In fact, software development itself is a social and collective intelligence activity. Most software is built based on open source infrastructure and reuses a large number of existing libraries and tools.
Open source is not only the technical belief of programmers, but also the leading model of global software technology and industrial innovation. It is an efficient way to accelerate basic software innovation, strengthen social collaboration, improve efficiency, and expand ecology.
As a developer-centric technology company, Rongyun has always been a participant and contributor to the open source ecosystem since its establishment 8 years ago.
Recently, Rongyun has open sourced several scene-based components , including out-of-the-box UI solutions such as music playback, chat room, voice chat room, live video, voice radio, and audio and video calls.
This is a key move for Rongyun to further serve the industry and give back to the community after Rongyun launched the third-generation scenario-based SDK by encapsulating the best industry practices and changing the old paradigm of industry supply. Looking forward to receiving more feedback from developers to jointly promote the development of the industry.
Rongyun scene component open source welcomes developers to use and feedback
1. Scene music playback component
Scenario Music Kit is an open source project provided by Rongyun for developers. It is suitable for common social scenarios such as chat rooms, radio rooms, and live video. Kit encapsulates common UI components such as music playlists, music library lists, volume controls, and atmosphere controls. Developers only need to provide music data sources and set RTC-related controls according to the relevant callbacks to quickly implement functions such as in-room music playback.
(Rongyun scene music playback component)
functional components
① Music playlist <br>Music list provides common logic and UI functions such as music play, pause, stick, delete, etc. The developer can perform the corresponding mixing operation or player playback operation according to the callback.
Play/Pause: Clicking on the music entry executes the playback and pause callbacks, and the developer can control the start and pause logic of the music mix in the room.
Top: There is a top button behind each music item. Developers can click the top button to move the music they want to top to the bottom of the music being played.
Delete: There is a delete button after each music entry to remove the music from the playlist.
② Music library <br>Music library list provides common logic and UI functions such as music addition, search, paging loading, etc. The developer can provide the corresponding data according to the callback to display it normally.
Category display: Different music lists can be displayed according to song categories.
List display: The music list is displayed according to the music data provided by the developer, and supports the function of adding to the playlist, paging loading, and local uploading (adding to the playlist after uploading).
Searching for songs: Enter the song you want to search for, and after clicking search, it will call back the music search interface. Developers only need to search in their own music library and then pass the data to the list to display the search results.
③ Volume control <br>Music control provides common room volume control, including local volume, remote volume, microphone volume, mixing and other functions. Developers can operate specific volume settings according to the callback.
Local volume: generally refers to the volume played by the host, and the local volume can be set according to the callback.
Remote volume: generally refers to the volume played by the audience, and the remote volume can be set according to the callback.
Microphone volume: generally refers to the volume of the microphone when the host speaks, and the microphone volume can be set according to the callback.
Back-to-ear: generally refers to whether the ear-to-ear function of the earphone is enabled when the host is wearing headphones, which can be controlled according to the callback.
④ Atmosphere control <br>Atmosphere control provides some entrance atmosphere sound effects management. Developers can customize some entrance sound effects according to their own business needs, and return to the UI layer for display according to the data callback. When the corresponding atmosphere is clicked, the corresponding RTC will be called. Ambience playback API.
characteristic
Simple integration: Users only need to rely on the source code of remote warehouses or open source projects to use them quickly.
Complete functions: common playlists, music libraries, volume control, atmosphere control, etc. are all available, and users can add or delete them according to their own needs.
Customizable: Based on the source code, users can quickly customize by changing the corresponding code according to their business needs.
Strong usability: The user only needs to care about the data source and the corresponding operation callbacks. There is no internal RTC encapsulation logic, and the API of the corresponding RTC can be called according to the callback.
address
Android: https://github.com/rongcloud-community/rongcloud-scene-musiccontrolkit-android
iOS: https://github.com/rongcloud-community/rongcloud-scene-musiccontrolkit-ios
2. Scenario chat room component
RCChatroomSceneKit is a set of UI components including message list, bottom toolbar, and input box. It can be widely used in chat interaction modules in instant messaging, chat room, live video, real-time community and other applications, and supports both iOS/Android.
functional components
RCChatroomSceneKit has three main components:
① The message list <br> is usually displayed in the lower left part of the interface such as the live broadcast room, displaying public screen messages, audience comments, gift notifications, etc. The message style can be flexibly customized.
② The bottom toolbar <br> is displayed at the bottom. The common form is an input box on the left, and a group of buttons on the right are evenly arranged. Users can freely define the function style of the buttons.
③ Keyboard linkage input box <br> is invoked by clicking on the input box on the left side of the bottom toolbar, and rises/disappears with the system keyboard. Support multi-line input, dynamic scrolling of text paragraphs.
characteristic
The API design is extremely streamlined, easy to use, and quick to use.
Rich extension interfaces to meet the various needs of developers as much as possible, such as message body styles, toolbar buttons, etc. can be customized.
Supports custom UI style properties in JSON configuration files, allowing developers to have an artist-like experience.
address
Android: https://github.com/rongcloud-community/rongcloud-scene-chatroomkit-android
iOS: https://github.com/rongcloud-community/rongcloud-scene-chatroomkit-ios
3. Scenario-based language chat room components
RCSceneVoiceRoom is an open source warehouse developed and designed according to mainstream language chat room scenarios. It can quickly implement language chat room applications through the business interface provided by RCVoiceRoomLib. Including room management, microphone position management, chat room messages, gift giving, multi-person connection to microphone and other necessary capabilities for language chat rooms.
functional components
The core capabilities of RCSceneVoiceRoom are:
① Multi-person mic <br>The audience in the room can join the mic by applying for the mic, inviting the mic, and free to join the mic.
② Wheat level management <br>The owner or administrator can control the wheat level to close and lock the wheat, and can also quickly close and lock the wheat in full quantity.
③ Chat room message <br> is displayed at the bottom. Users in the room can send text, emoticon, voice and other types of messages. Click on the message to view user information.
④ Giving gifts <br>Support designated users or whole wheat users to give rewards, which are divided into ordinary gifts and full server gifts. The full server gifts are displayed in all rooms and support jumping.
⑤ Music playback <br>Homeowners can play music through mixing mode, supporting functions such as music collection, search, classification, floating window, volume control, and ear return.
characteristic
Concise: The mobile terminal can access the chat room function with only one line of code. Developers do not need to spend too long to learn, and do not need to care about the internal implementation. They only need to connect simple interfaces and abstract callbacks.
Stability: The chat room component provides stable business capabilities. The design of the API is more abstract, except in special cases, the interface will not be changed, and it is more of an extension of the interface capabilities. All functions are rigorously tested to ensure stability during operation.
Rich: The chat room component covers all mainstream business functions, provides a complete set of UI design, and will continuously update dependent components, such as gift animation, more types of wheat slot layouts, etc.
address
Android: https://github.com/rongcloud-community/rongcloud-scene-voice-room-android
iOS: https://github.com/rongcloud-community/rongcloud-scene-voice-room-ios
4. Scenario-based live video components
RCSceneVideoRoom is a live video scene component quickly implemented based on RCLiveVideoLib.
Developers can implement live video scenarios through a single line of code on the mobile terminal; live video can quickly switch between microphone layouts through the built-in layout and custom layout of RCLiveVideoLib, covering the layout of most mainstream business scenarios; including room management, It is a necessary ability for social entertainment scenarios such as microphone position management, chat room messages, gift giving, multi-person connection of microphones, and cross-room PK.
address
Android: https://github.com/rongcloud-community/rongcloud-scene-video-room-android
iOS: https://github.com/rongcloud-community/rongcloud-scene-video-room-ios
5. Scene voice radio components
RCSceneRadioRoom is the rapid realization of the capabilities of IM and RTC in the voice radio scene. By using the CDN push-pull streaming technology, the single-host voice live broadcast is realized, and the audience is not limited to listen. In the voice radio scene, functions such as chat room messages, gift giving, and music playback are configured.
address
Android: https://github.com/rongcloud-community/rongcloud-scene-radio-room-android
iOS: https://github.com/rongcloud-community/rongcloud-scene-radio-room-ios
6. Scenario audio and video call components
RCSceneCall is a complete encapsulation of call scenarios based on Rongyun RCCallLib, supports conventional single-person audio and video calls, and adds business functions such as dial pad and dial record.
address
Android: https://github.com/rongcloud-community/rongcloud-scene-call-android
iOS: https://github.com/rongcloud-community/rongcloud-scene-call-ios
Open source and collaboration effectively improve productivity in the digital world
Under the strict commercial order of contemporary society, open source retains the original beauty of the Internet spirit - sharing and openness, making information more accessible and free. The driving force of open source itself embodies this idealistic complex of engineers, and also constitutes and represents the open spiritual core of the Internet: I am for everyone, and everyone is for me.
"When you have a better solution to a problem based on your own accumulation, it is inevitable that you want to share it with others." This is the starting point of most engineers who choose open source, and then based on community feedback and user co-construction , to create an active and extensive ecology, promote the rapid and sustainable development of the project, and improve and perfect the project.
After more than 20 years of development, the open source industry has become more and more mature and has entered a period of rapid development. More and more companies have joined open source co-construction.
According to GitHub data, in 2021, GitHub will add more than 16 million new active users and more than 61 million new active code repositories.
In China, the attention to open source is first manifested in the attention of the national strategic level. The "14th Five-Year Plan" clearly states that it supports the development of open source communities and encourages enterprises to open up software source code. Open source has become an important strategy to promote the development of my country's digital economy. The establishment of the Open Atom Open Source Foundation is also a landmark event for the maturity of the domestic open source industry, and open source has ushered in an unprecedented good period.
GitHub data shows that Chinese developers have reached 7.55 million+, ranking second in number.
The most direct significance of open source to software development is to improve productivity. On the one hand, it is to continue to innovate based on the achievements of predecessors, and "don't repeat the creation of the wheel"; on the other hand, it is to jointly promote the development of the field through joint construction.
Under the development tenet of "everything for developers", one of Rongyun's missions is to help developers complete software development and business realization in more, faster, better, and more cost-effective ways. Open source is also a part of Rongyun's engineer culture. In the past 8 years, Rongyun has continuously extracted typical use cases for open source in the process of continuous improvement of IM instant messaging and RTC real-time audio and video technology and leading the industry.
With the development of online entertainment industries such as chat rooms and live broadcasts, Rongyun's communication cloud services have blossomed in social, pan-entertainment, games and other fields, and have continuously accumulated experience in vertical industries. In the process of serving developers, Rongyun extracted the best practices and launched the third-generation scenario-based SDK, which supports developers to develop applications such as chat rooms, live broadcasts, and audio and video calls out of the box.
Under the epidemic, the pan-entertainment social market demand is unprecedented, and a large number of related industry software developers have appeared in the market, and they need more skills, use cases and tools.
Rongyun will gradually open source a full set of systematic components with embedded business logic, which will avoid the repeated development of some common components by developers. Developers who need to solve similar problems can use it directly, so that they can focus on other more valuable and creative direction.
In a digital world built by software, open source is an effective collaborative way to increase the collective productivity of mankind. In the future, Rongyun Scenario will also open source core components such as gifts and wheat position management, and continue to contribute its mature solutions in specific fields to the industry, expand the application fields of technology, and contribute to external needs while allowing its own technology to be used in more With the feedback of use cases, it will become more mature, move towards the community and build an ecosystem together.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。