在 Flutter 中播放来自 URL 的音频
Play Audio in Flutter from URL
我是 flutter 的新手,我想从 URL 路径播放带有播放、暂停和搜索按钮的音频文件,并在播放器中显示通知。
您可以使用 audioplayers 包。
像这样定义 AudioPlayer
实例
AudioPlayer audioPlayer = AudioPlayer();
播放音频如下图
play() async {
int result = await audioPlayer.play(url);
if (result == 1) {
// success
}
}
你可以这样暂停和停止
await audioPlayer.pause();
await audioPlayer.stop();
这是播放本地音频的方法
playLocal() async {
int result = await audioPlayer.play(localPath, isLocal: true);
}
我推荐你使用 audio_service 包。这是高度可定制的通知,您还可以在后台或睡眠模式下播放音频。
您可以像这样在 just_audio 中播放 URL:
final player = AudioPlayer();
await player.setUrl('https://example.com/song.mp3');
player.play();
player.pause();
player.seek(Duration(seconds: 143);
要添加通知支持,最简单的方法是添加just_audio_background。您需要稍微更改上面的代码,而不是调用 setUrl
,您现在这样做:
await player.setAudioSource(AudioSource.uri(
'https://example.com/song.mp3',
tag: MediaItem(
id: 'Some unique ID',
title: 'Song title',
album: 'Song album',
artUri: Uri.parse('https://example.com/art.jpg'),
),
));
现在一旦该歌曲开始播放,提供的元数据也会显示在通知中。
just_audio_background 也必须在您的 main:
中初始化
Future<void> main() async {
await JustAudioBackground.init(/* See API for options */);
runApp(MyApp());
}
并且不要忘记遵循每个插件的特定于平台的设置说明:
请注意,just_audio_background 在后台使用 audio_service 插件,因此如果您的应用有更复杂的要求,您可以直接使用该插件。
如果您对如何构建实际的 UI 有疑问,您可以创建一个单独的问题,或者您可以查看上面的两个 link,因为每个插件都包含一个示例演示如何 link 在 UI.
中全部完成的应用程序
打开 AndroidManifest.xml 文件并启用互联网权限,使用 CleartextTraffic
android\app\src\main\AndroidManifest.xml
Add following 2 lines for enabling internet permission and usesCleartextTraffic
我是 flutter 的新手,我想从 URL 路径播放带有播放、暂停和搜索按钮的音频文件,并在播放器中显示通知。
您可以使用 audioplayers 包。
像这样定义 AudioPlayer
实例
AudioPlayer audioPlayer = AudioPlayer();
播放音频如下图
play() async {
int result = await audioPlayer.play(url);
if (result == 1) {
// success
}
}
你可以这样暂停和停止
await audioPlayer.pause();
await audioPlayer.stop();
这是播放本地音频的方法
playLocal() async {
int result = await audioPlayer.play(localPath, isLocal: true);
}
我推荐你使用 audio_service 包。这是高度可定制的通知,您还可以在后台或睡眠模式下播放音频。
您可以像这样在 just_audio 中播放 URL:
final player = AudioPlayer();
await player.setUrl('https://example.com/song.mp3');
player.play();
player.pause();
player.seek(Duration(seconds: 143);
要添加通知支持,最简单的方法是添加just_audio_background。您需要稍微更改上面的代码,而不是调用 setUrl
,您现在这样做:
await player.setAudioSource(AudioSource.uri(
'https://example.com/song.mp3',
tag: MediaItem(
id: 'Some unique ID',
title: 'Song title',
album: 'Song album',
artUri: Uri.parse('https://example.com/art.jpg'),
),
));
现在一旦该歌曲开始播放,提供的元数据也会显示在通知中。
just_audio_background 也必须在您的 main:
中初始化Future<void> main() async {
await JustAudioBackground.init(/* See API for options */);
runApp(MyApp());
}
并且不要忘记遵循每个插件的特定于平台的设置说明:
请注意,just_audio_background 在后台使用 audio_service 插件,因此如果您的应用有更复杂的要求,您可以直接使用该插件。
如果您对如何构建实际的 UI 有疑问,您可以创建一个单独的问题,或者您可以查看上面的两个 link,因为每个插件都包含一个示例演示如何 link 在 UI.
中全部完成的应用程序打开 AndroidManifest.xml 文件并启用互联网权限,使用 CleartextTraffic
android\app\src\main\AndroidManifest.xml
Add following 2 lines for enabling internet permission and usesCleartextTraffic