直播间搭建中关于短音效开发的直播间源码实现方式
一般在直播間搭建的過程中,由于視頻直播是比較消耗性能資源的,所以在添加其中每一個功能的時候,是需要謹慎的去考慮性能成本的今天來介紹一下封裝短視頻音效開發時的處理思路,通俗點講就是主播在進行開播時播放音樂的功能是如何實現的。
1.性能方面,利用lrucahe實現固定內存持有的音頻資源數,將使用頻率最低的音樂資源釋放,來保證我們的內存不會持續性的增大:
2.聲音加載動作首先加入隊列里面,等待音頻下載完或者load進入內存中,當所屬的音樂資源加載完畢,再進行消費.但是超過最大等待數的時候,會選擇丟棄動作。
if(linkedBlockingQueue.size()<maxWaitMusic&&!resource.isReload()){linkedBlockingQueue.add(resource.key()); }else{SoundLog.e("當前音樂動作已經超過同時最大緩存限制,或者您開啟的是預加載模式",this); }3.生命周期的管理,及時的根據android組件的生命周期進行相應的響應處理非常重要,會避免很多的性能問題,這里我們借鑒了glide源碼的實現,進行自動化的生命周期管理:
if(lifeCycleModel==LifeMode.AUTO){LifeFragment lifeFragment= BindUtil.bindLifeFragment(context);LifeListner voiceLifeMannger=new VoiceLifeMannger(context,this);lifeFragment.join(voiceLifeMannger); }直播間源碼拓展方面:
1.我們在設計代碼的時候將每個更小的子功能抽象成若干個模塊,實現可插拔替換的目的,例如:
2.核心的實現類實現了和IAudioPlayer,SoundResource.ILoader,未來我們如果增加音樂播放會很方便,SoundResource 和其iloader接口讓核心實現類和音頻加載實現了解耦,內部還有很多邏輯模塊都是通過接口約束和引用的,在此不一一贅述。
以上就是在直播間搭建過程中短音效開發的源碼實現方式,最終完成的配樂/伴奏功能也能夠給用戶在觀看直播的過程中增添樂趣,從而在一定程度上增加用戶黏性。
總結
以上是生活随笔為你收集整理的直播间搭建中关于短音效开发的直播间源码实现方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 构造函数特点
- 下一篇: 系统无法在消息文件中为 Applicat