我正在使用Flutter编写一个警报应用程序(目前仅限Android)。
我设法使用通知播放警报。但它只有在手机不是静音模式时才能工作。
是否有一种方法来构建这样一个应用程序使用Flutter?无论手机处于什么状态都能播放声音是这款应用的核心功能,如果做不到这一点,我应该停止这款应用的开发。
已经尝试使用awesomenotifations插件播放的声音(使用最大优先级的Alarm Type)和FlutterRingtonePlayer播放的声音(由通知触发)。
颤振3.3.5•通道稳定
用于测试的物理设备正在运行Android 13
编辑:由于应用程序是一个闹钟,隔离器将播放声音。
1-在pubspec中添加sound_mode作为依赖项。yaml文件
的依赖关系:颤振:sdk:颤振flutter_localizations:sdk:颤振
sound_mode: ^ 2.0.2
2-在AndroidManifest.xml中添加以下权限,使应用程序出现在"请勿打扰访问"列表中:
<manifest ... >
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
<application ... >
...
</manifest>
改变设备的声音模式:
import 'package:sound_mode/utils/ringer_mode_statuses.dart';
//To get the device's current sound mode:
String ringerStatus = await SoundMode.ringerModeStatus;
print(ringerStatus);
// To change the device's sound mode: silent to normal.
if(ringerStatus == 'silent'){
try {
await SoundMode.setSoundMode(RingerModeStatus.normal);
} on PlatformException {
print('Please enable permissions required');
}
}
// your code here : play a sound
MediaPlayer mp= MediaPlayer.create(contexto, R.raw.your_sound);
mp.start();
你应该在启动闹钟时调用这个(你应该在本机代码中调用)
尝试一下,因为这个包也提供了在静默模式下工作的功能。
assets_audio_player: ^3.0.6
https://pub.dev/packages/assets_audio_player
https://i.stack.imgur.com/qbjFB.png
我希望这些东西能解决你的问题。