【问题标题】:How to play local audio with audio_service package in Flutter如何在 Flutter 中使用 audio_service 包播放本地音频
【发布时间】:2020-12-03 09:19:32
【问题描述】:

我最近在 audio_service 包的已关闭问题中发现了this question。我有同样的问题,所以我在这里重新发布它以提高知名度。

audio_service 包要求您像这样传递MediaItem

MediaItem(
  id: "https://s3.amazonaws.com/scifri-episodes/scifri20181123-episode.mp3",
  album: "Science Friday",
  title: "A Salute To Head-Scratching Science",
  artist: "Science Friday and WNYC Studios",
  duration: Duration(milliseconds: 5739820),
  artUri: "https://media.wnyc.org/i/1400/1400/l/80/1/ScienceFriday_WNYCStudios_1400.jpg",
)

但是,如果您想播放本地文件,则没有明确的方法可以做到这一点。如何播放本地音频文件?

【问题讨论】:

    标签: flutter dart audio


    【解决方案1】:

    引用包作者here:

    此插件不播放音频。

    此插件仅包含您现有的音频代码以允许它 在后台工作,但它并不关心你如何实际播放 声音的。您可以使用其他插件来播放音频。 ...

    如果您查看示例,您会发现它使用了just_audio 插件 播放音频,因此您可以先咨询 该插件的文档而不是这个插件(它不 播放音频)。你会在那里找到答案。

    还有here

    ID 只是您的媒体项目的唯一 ID。根据 文档:

    /// Metadata about an audio item that can be played, or a folder containing 
    /// audio items. 
    class MediaItem {
      /// A unique id.   
      final String id; 
    

    不需要是 URL。

    因此,您可以将本地路径作为id 传递,然后通过just_audio 或您正在使用的任何音频插件适当地处理它。

    MediaItem(
      id: "assets/audio/my_audio.mp3",
      ...
    )
    

    just_audio 中,您可以将此字符串与setAsset() 一起使用。

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 2020-12-18
      • 2023-01-20
      • 2021-01-23
      • 2022-01-10
      相关资源
      最近更新 更多