flutter中播放音乐

宇文卓
2023-12-01

添加依赖

audioplayers: ^0.16.1

添加文件路径

flutter:
  assets:
    - assets/sounds/

播放flutter中本地音频资源使用AudioCache类:

  AudioCache player = AudioCache();
  player.play('sounds/explosion.mp3');
  //循环播放
  player.loop('sounds/music.mp3');

这里有一个巨坑,AudioCache类默认的音频路径上已经添加了一个assets/,所以刚开始,一直在报错,说文件路径找不到([ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: Unable to load asset: assets/assets/sounds/click.mp3)

assets/assets/sounds/click.mp3,这里报错说找不到这个路径,然后发现多了一个assets,就知道了,他默认路径以及帮你改动过了。

所以这里调用路径时去掉你的assets/前缀

暂停播放和停止播放
由于AudioCache没有此功能,但是它返回的实例都是AudioPlayer类型的,所以可以借助AudioPlayer来实现暂停和播放

  AudioCache audioCache = AudioCache();
  AudioPlayer audioPlayer = AudioPlayer();
  
  audioCache.fixedPlayer = audioPlayer;//核心
  //播放用audioCache
  audioCache.paly('音频',volume = 2.0)//volume默认1.0代表音量
  //暂停用audioPlayer
  audioPlayer.pause()
  //停止播放
  audioPlayer.stop()

如果调用互联网上的远程文件,用户设备上的本地文件:请参考如下链接
传送

 类似资料: