2

我使用插件just_audio 暂停后如何继续播放音乐?请。

void _play() {
    audioPlayer.setAsset("assets/applause.mp3");
    audioPlayer.play();
  }
void _pause() async {
    await audioPlayer.pause();
  }
  void _rePlay() async {
    ?????????????????????????
  }
4

2 回答 2

0

你可以打电话audioPlayer.play()。这与音乐应用程序中的播放按钮pause()完全相同,而与音乐应用程序中的暂停按钮完全相同。

它是这样设计的,因此您可以简单地将播放和暂停按钮直接连接到这些播放器方法。

例如,以下是 just_audio 示例应用程序中的播放/暂停按钮:

// Play button:
IconButton(
  icon: Icon(Icons.play_arrow),
  onPressed: audioPlayer.play,
)
// Pause button:
IconButton(
  icon: Icon(Icons.pause),
  onPressed: audioPlayer.pause,
)

您可以只交替调用play()/ pause()/ play()/ pause()。请注意 README 中此状态图的左侧:

在此处输入图像描述

于 2021-03-04T04:38:04.637 回答
0

一般来说,调用后pause,调用play“resume”。

在您的情况下,您不应再次设置资产文件。这将重置该过程。

以下是您的代码,粘贴自您的问题:

void _play() { // BAD EXAMPLE
  audioPlayer.setAsset("assets/applause.mp3"); // <-- PROBLEM
  audioPlayer.play();
}

你应该把setAssetcall 移到别处,比如 in init state

于 2021-09-04T00:20:39.287 回答