微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter - 音频播放器

如何解决Flutter - 音频播放器

你好,我是 Flutter 新手

我正在尝试从 url 或网络播放音频文件,但使用哪个是因为

我在谷歌上搜索,它显示了很多但该使用哪一个

如果可能,可以展示如何创建如下图的示例

我想创建一个这样的音频播放器

enter image description here

请帮助...

提前致谢!!!

解决方法

显示如何在屏幕截图中执行所有操作的答案可能不适合 StackOverflow 答案(音频代码、UI 代码以及如何提取音频波数据),但我会给您一些希望有用的提示。

使用 just_audio 插件,您可以从这些类型的 URL 加载音频:

  • https://example.com/track.mp3(任何网址)
  • file:///path/to/file.mp3(具有权限的任何文件 URL)
  • asset:///path/to/asset.mp3(任何 Flutter 资产)

您可能需要一个播放列表,以下是定义一个播放列表的方法:

final playlist = ConcatenatingAudioSource(children: [
  AudioSource.uri(Uri.parse('https://example.com/track1.mp3')),AudioSource.uri(Uri.parse('https://example.com/track2.mp3')),AudioSource.uri(Uri.parse('https://example.com/track3.mp3')),AudioSource.uri(Uri.parse('https://example.com/track4.mp3')),AudioSource.uri(Uri.parse('https://example.com/track5.mp3')),]);

现在开始播放,您需要创建一个播放器:

final player = AudioPlayer();

设置播放列表:

await player.setAudioSource(playlist);

然后当用户点击事物时,您可以执行以下操作:

player.play();
player.pause();
player.seekToNext();
player.seekToPrevious();
player.seek(Duration(milliseconds: 48512),index: 3);
player.dispose(); // to release resources once finished

对于屏幕布局,请注意 just_audio 包含一个看起来像这样的示例,并且由于与您自己提议的布局有很多相似之处,您可以通过查看 its code 获得一些想法:

enter image description here

最后,对于声波显示,还有一个叫audio_wave的包。您可以使用它来显示音频波形,但问题是我所知道的没有插件可以让您访问波形数据。如果你真的想要一个波形,你可能会使用一个假波形(如果它只是为了直观地指示位置进度),否则你或其他人需要编写一个插件来将音频文件解码为样本列表。>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。