From 48445a3bf179e42d16c29e61f38a65d3e8732eac Mon Sep 17 00:00:00 2001 From: wuqifeng <540416539@qq.com> Date: Wed, 12 Jun 2024 13:17:09 +0800 Subject: [PATCH] feat:修复先声录音对音频会话的类别和模式设置影响了音频输出,导致单通道出声(听筒) --- lib/pages/reading/bloc/reading_bloc.dart | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/pages/reading/bloc/reading_bloc.dart b/lib/pages/reading/bloc/reading_bloc.dart index 754f827..a35c775 100644 --- a/lib/pages/reading/bloc/reading_bloc.dart +++ b/lib/pages/reading/bloc/reading_bloc.dart @@ -130,6 +130,9 @@ class ReadingPageBloc "setMethodCallHandler method=${call.method} arguments=${call.arguments}"); if (call.method == 'voiceResult') { //评测结果 + await audioPlayer.setAudioContext(const AudioContext( + iOS: AudioContextIOS() + )); await audioPlayer.setBalance(0.0); add(XSVoiceResultEvent(call.arguments)); return; @@ -151,6 +154,9 @@ class ReadingPageBloc print(call.method == 'voiceEnd' ? '评测结束' : '评测取消'); } _isRecording = false; + await audioPlayer.setAudioContext(const AudioContext( + iOS: AudioContextIOS() + )); await audioPlayer.setBalance(0.0); add(OnXSVoiceStateChangeEvent()); return; @@ -159,6 +165,9 @@ class ReadingPageBloc if (call.method == 'voiceFail') { //评测失败 _isRecording = false; + await audioPlayer.setAudioContext(const AudioContext( + iOS: AudioContextIOS() + )); await audioPlayer.setBalance(0.0); EasyLoading.showToast('评测失败'); return; @@ -279,7 +288,9 @@ class ReadingPageBloc Future _playAudio(String? audioUrl) async { if (audioUrl!.isNotEmpty) { - await audioPlayer.play(UrlSource(audioUrl)); + await audioPlayer.play(UrlSource(audioUrl), + balance: 0.0, ctx: const AudioContext() + ); } } -- libgit2 0.22.2