雷鸟:优化音频流播放
authorcheng <chengyf@zhihuishixun.com>
Tue, 16 Sep 2025 14:53:47 +0000 (22:53 +0800)
committercheng <chengyf@zhihuishixun.com>
Tue, 16 Sep 2025 14:53:47 +0000 (22:53 +0800)
code/sdk/zhihui/leiniao/audio_stream/audio_stream_player.cpp

index 352806c..690e0c3 100644 (file)
@@ -122,7 +122,7 @@ static void AudioStreamPlayThread(void *arg)
                     if (ret != 0)
                     {
                         ctx->stats.retryCount++;
-                        LOS_Msleep(100);
+                        usleep(100000);
                         goto WRITE_RETRY;
                     }
                     ctx->stats.totalBytesPlayed += msg.size;
@@ -152,12 +152,12 @@ static void AudioStreamPlayThread(void *arg)
             else
             {
                 MEDIA_ERR_LOG("AudioStreamPlayThread: queue get error=%d", status);
-                LOS_Msleep(100);
+                usleep(10000);
             }
         }
         else
         {
-            LOS_Msleep(100);
+            usleep(10000);
         }
     }
 
@@ -510,7 +510,7 @@ int32_t AudioStreamPlayerWrite(AudioStreamPlayerHandle handle, const uint8_t *da
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"AudioStreamPlayerWrite: queued %u bytes", size);
             return 0;
         }
-        LOS_Msleep(10); // 10ms 小憩等待消费
+        LOS_Msleep(100); // 10ms 小憩等待消费
     } while (--retries > 0);
     // 超过重试仍满,丢弃本块
     ctx->stats.droppedFrames++;
@@ -651,8 +651,8 @@ uint32_t ln_audio_player_init(void)
     cfg.sampleRate = 16000;
     cfg.channels = 1;
     cfg.bitsPerSample = 16;
-    cfg.bufferSize = 2048;
-    cfg.queueSize = 32;
+    cfg.bufferSize = 0x1000;
+    cfg.queueSize = 64;
 
     if (AudioStreamPlayerCreate(&cfg, &g_ln_audio_player) != 0) {
         printf("[LN_AUDIO] create failed\n");