From 3017473850c4e580c8bb7c5f022cc2624d2a595f Mon Sep 17 00:00:00 2001 From: Del Wang Date: Thu, 1 Jan 2026 14:28:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=82=E6=AD=A5=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E9=9F=B3=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=98=BB?= =?UTF-8?q?=E5=A1=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/stereo/src/app/slave.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/stereo/src/app/slave.rs b/examples/stereo/src/app/slave.rs index e1cf5d3..fd634d6 100644 --- a/examples/stereo/src/app/slave.rs +++ b/examples/stereo/src/app/slave.rs @@ -9,7 +9,6 @@ use crate::net::protocol::{AudioPacket, ChannelRole, ControlPacket}; use crate::utils::jitter_buffer::JitterBuffer; use crate::utils::sync::{ClockSync, now_us}; use anyhow::{Result, anyhow}; -use std::process::Command; use std::sync::Arc; use std::time::Duration; use tokio::io::{AsyncReadExt, AsyncWriteExt}; @@ -133,13 +132,17 @@ async fn handle_connection(role: ChannelRole) -> Result<()> { // 8. 播放主循环 println!("✅ 主节点已连接,音频串流中..."); - let _ = Command::new("sh") - .arg("-c") - .arg(format!( - "/usr/sbin/tts_play.sh \"主节点已连接,{}\" >/dev/null 2>&1", - role.to_string() - )) - .status(); + let role_str = role.to_string(); + tokio::spawn(async move { + let _ = tokio::process::Command::new("sh") + .arg("-c") + .arg(format!( + "/usr/sbin/tts_play.sh \"主节点已连接,{}\" >/dev/null 2>&1", + role_str + )) + .status() + .await; + }); let mut pcm_buf = vec![0i16; config.frame_size]; let mut last_seq: Option = None;