我需要一个音频播放器在Flutter,即使一个声音目前正在播放,如果我播放另一个,前一个取消和新的去。如果我这样做,它就会起作用:audioPlayer.setReleaseMode(ReleaseMode.stop);问题是,如果我连续播放相同的资产声音2次,它会工作,前一个需要在音频播放器播放第二个之前结束,我需要这个资产在我每次按下按钮时发出声音,所以,如果我垃圾按钮,资产需要在每次点击时播放
v2g6jxz61#
使用assets_audio_player包。下面的代码将在每次点击按钮时播放声音,无论您发送垃圾邮件的速度有多快。
ElevatedButton( onPressed: () { AssetsAudioPlayer.newPlayer().open( Audio('assets/sounds/pop_alert.mp3'), autoStart: true, showNotification: false, ); }, child: const Text('Click Me!'), ),
额外提示:使按钮按下声音响应的技巧是从音频文件中删除尽可能多的“静音”。这需要一点音频编辑。例如,这是我使用的"pop_alert.mp3"文件的波形。before trim
"pop_alert.mp3"
before trim
我们需要修剪音频片段以尽可能多地消除静音,以便在按下按钮时立即播放声音。您可以使用免费的在线工具,如Free Audio Trimmer来实现这一点。after trim
after trim
1条答案
按热度按时间v2g6jxz61#
使用assets_audio_player包。
下面的代码将在每次点击按钮时播放声音,无论您发送垃圾邮件的速度有多快。
额外提示:
使按钮按下声音响应的技巧是从音频文件中删除尽可能多的“静音”。这需要一点音频编辑。例如,这是我使用的
"pop_alert.mp3"
文件的波形。before trim
我们需要修剪音频片段以尽可能多地消除静音,以便在按下按钮时立即播放声音。您可以使用免费的在线工具,如Free Audio Trimmer来实现这一点。
after trim