onecold 8 сар өмнө
parent
commit
6020079966

+ 4 - 5
entry/src/main/ets/view/LocalMusic.ets

@@ -13444,6 +13444,7 @@ export struct LocalMusic {
     this.replayVisible = Visibility.Visible;
   }
 
+
   private async play(url: string,startOffset?:number) {
     this.isShowBgLiuGUANG = PreferencesUtil.getBooleanSync('isShowBgLiuGUANG', false)
     console.info('onecold this.url 1= '+url)
@@ -13582,10 +13583,8 @@ export struct LocalMusic {
     this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", "1");
 
     const fileSize = await this.getFileSize(this.videoUrl);
-    let bufferSize = 1 * 1024 ; // 默认缓冲区大小为1MB
-    if (fileSize > 3 * 1024 * 1024 * 1024) { // 文件大于3GB
-      bufferSize = 25 * 1024 * 1024; // 设置缓冲区大小为25MB
-    }
+    let bufferSize = 100 * 1024 ; // 默认缓冲区大小为1MB
+
     // 使用软件解码(通常比硬件解码更节省内存)
     // this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,  "mediacodec-auto-rotate", '0');
     // this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,  "mediacodec-handle-resolution-change", '0');
@@ -13604,7 +13603,7 @@ export struct LocalMusic {
     //启动预加载
     this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", "1");
     // 设置无缓冲,这是播放器的缓冲区,有数据就播放
-    this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", "0");
+    this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", "1");
     //跳帧处理,放CPU处理较慢时,进行跳帧处理,保证播放流程,画面和声音同步
     this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", "5");
     // 最大缓冲cache是3s, 有时候网络波动,会突然在短时间内收到好几秒的数据