From 158c37a69e9e11d8e5d762dcbca144655b00cac1 Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Tue, 19 Dec 2023 18:41:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9F=B3=E9=A2=91=E6=95=B0=E6=8D=AE=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/lib/talk/call/callTalk.dart | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/star_lock/lib/talk/call/callTalk.dart b/star_lock/lib/talk/call/callTalk.dart index d271855b..faee0db9 100644 --- a/star_lock/lib/talk/call/callTalk.dart +++ b/star_lock/lib/talk/call/callTalk.dart @@ -26,7 +26,7 @@ class CallTalk { IframeInfo? iframe; // 假设有这个成员变量 var growableList; LockMonitoringPage callOut = const LockMonitoringPage(); - late FlutterSoundPlayer _player; + FlutterSoundPlayer _audioPlayer = FlutterSoundPlayer(); CallTalk._init() { iframe = IframeInfo(); @@ -53,13 +53,12 @@ class CallTalk { // 音频数据 if (bb[61] == 1) { // 如果是音频数据且状态符合条件 - _player = FlutterSoundPlayer(); - _initPlayer(); - // 解码 - Uint8List g711Data = G711Decoder().decodeG711uLaw(bb); + _initializeAudioPlayer(); - await _playAudio(g711Data); + // 用你的711音频数据替换这里的Uint8List + Uint8List rawData = G711Decoder().decodeG711uLaw(bb); + _playRawData(rawData); } // 视频数据 else { @@ -190,14 +189,18 @@ class CallTalk { } } - Future _initPlayer() async { - await _player.openPlayer(); + Future _initializeAudioPlayer() async { + await _audioPlayer.openPlayer(); } - Future _playAudio(Uint8List audioData) async { - await _player.startPlayer( - fromDataBuffer: audioData, - codec: Codec.pcm16WAV, + Future _playRawData(Uint8List rawData) async { + await _audioPlayer.startPlayer( + fromDataBuffer: rawData, + codec: Codec.pcm16, + whenFinished: () { + // 播放完成时的回调 + print("Playback finished"); + }, ); } }