Flutter只是音频与音频服务,如何处理按钮事件



如何处理flutter上的下一个音频按钮按下事件和上一个音频按键事件?只有音频服务,我的音频文件是加密的,我必须在播放之前解密音频文件

mediaItem.add(MediaItem(id: "1", title: item.title!,artUri: Uri.file(PathHelper().pathAudio!+"name.mp3")));
_player.setFilePath(PathHelper().pathAudio!+"name.mp3");

我只回答关于处理按钮事件的主要问题(我不能回答关于加密的问题(。

要处理按钮事件,请在音频处理程序中重写以下方法:

  • skipToNext
  • skipToPrevious
  • click

前两个处理不同位置的下一个和上一个按钮,包括通知,而click处理耳机上的按钮按下。由于某些耳机还具有下一个/上一个按钮,并且某些耳机通过长按音量按钮等来模拟下一个或上一个,因此click可以处理多种类型的事件。因此,click采用一个参数,指示发生了3种类型的事件中的哪一种(下一种、上一种或播放/暂停(。

click的默认实现如下:

Future<void> click([MediaButton button = MediaButton.media]) async {
switch (button) {
case MediaButton.media:
if (playbackState.valueOrNull?.playing == true) {
await pause();
} else {
await play();
}
break;
case MediaButton.next:
await skipToNext();
break;
case MediaButton.previous:
await skipToPrevious();
break;
}
}

(参考:API文件(

最新更新