如何在静音模式下播放声音?



我正在使用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

我希望这些东西能解决你的问题。

相关内容

  • 没有找到相关文章

最新更新