Commit 152b4759 by tanghuan

ios播放测试

1 parent 3eaabf7c
...@@ -2,7 +2,6 @@ import 'dart:async'; ...@@ -2,7 +2,6 @@ import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'package:audio_session/audio_session.dart'; import 'package:audio_session/audio_session.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_sound/flutter_sound.dart'; import 'package:flutter_sound/flutter_sound.dart';
class PlayerService { class PlayerService {
...@@ -31,10 +30,10 @@ class PlayerService { ...@@ -31,10 +30,10 @@ class PlayerService {
// 打开播放器 // 打开播放器
try { try {
// 针对iOS, 需要控制不使用听筒进行播放 // 针对iOS, 需要控制不使用听筒进行播放
if (Platform.isIOS) { // if (Platform.isIOS) {
var audioSession = await AudioSession.instance; // var audioSession = await AudioSession.instance;
await audioSession.configure(AudioSessionConfiguration.speech()); // await audioSession.configure(AudioSessionConfiguration.speech());
} // }
final player = FlutterSoundPlayer(); final player = FlutterSoundPlayer();
_player = (await player.openPlayer())!; _player = (await player.openPlayer())!;
...@@ -70,6 +69,25 @@ class PlayerService { ...@@ -70,6 +69,25 @@ class PlayerService {
} }
} }
// 针对iOS, 需要控制不使用听筒进行播放
if (Platform.isIOS) {
final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration(
avAudioSessionCategory: AVAudioSessionCategory.playback,
avAudioSessionCategoryOptions: AVAudioSessionCategoryOptions.allowBluetooth,
avAudioSessionMode: AVAudioSessionMode.spokenAudio,
avAudioSessionRouteSharingPolicy: AVAudioSessionRouteSharingPolicy.defaultPolicy,
avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.notifyOthersOnDeactivation,
androidAudioAttributes: AndroidAudioAttributes(
contentType: AndroidAudioContentType.speech,
flags: AndroidAudioFlags.none,
usage: AndroidAudioUsage.media,
),
androidAudioFocusGainType: AndroidAudioFocusGainType.gain,
androidWillPauseWhenDucked: true,
));
}
// // 获取当前音频会话配置 // // 获取当前音频会话配置
// AudioSession session = await AudioSession.instance; // AudioSession session = await AudioSession.instance;
// if (session.isConfigured) { // if (session.isConfigured) {
...@@ -83,10 +101,10 @@ class PlayerService { ...@@ -83,10 +101,10 @@ class PlayerService {
// debugPrint('还未配置音频会话'); // debugPrint('还未配置音频会话');
// } // }
if (Platform.isIOS) { // if (Platform.isIOS) {
var currentRoute = await AVAudioSession().currentRoute; // var currentRoute = await AVAudioSession().currentRoute;
debugPrint('当前音频路由-------------------: ${currentRoute.outputs}'); // debugPrint('当前音频路由-------------------: ${currentRoute.outputs}');
} // }
_playId = playId; _playId = playId;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!