首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AudioSourse just_audio Flutter中获取特定音频的时长?

如何在AudioSourse just_audio Flutter中获取特定音频的时长?
EN

Stack Overflow用户
提问于 2021-01-15 14:40:37
回答 1查看 231关注 0票数 0

我正在建立一个项目可以播放音频与just_audio。我有一个放在AudioSource中的音频列表,我需要为列表中的每个音频创建一个控制短划线(一个播放按钮和一个进度条),而不是像往常一样对播放列表使用通用的。但是我不知道如何获得列表中每个音频的持续时间/持续时间流,每次我点击某个音频的播放按钮时,只播放该音频?enter image description here在图片中,我只能获得当前状态的持续时间,使用player.durationStream,当我点击播放按钮时,只播放sequenceState的当前音频。

请多多帮助,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-01-15 21:52:40

此功能尚不受支持,但有一个开放的功能请求:

https://github.com/ryanheise/just_audio/issues/141

然而,这可能不是您真正想要的。请注意,在某些情况下,直接从媒体文件查询持续时间可能效率较低,因此,如果您实际上事先知道持续时间,则应用程序可能更好地维护自己的本地元数据数据库,其中包括持续时间:

  1. 如果音频来自播客,请注意播客feed应报告XML文件中每个项目的中保真持续时间,单位为秒(*)。
  2. 如果音频是由应用录制的,则可以在录制的同时将持续时间元数据保存到数据库中。
  3. 如果音频在设备上,则可以使用flutter_audio_query.
  4. If查询音频。
  5. 音频是应用程序打包的资产。
  6. 然后,通过隐含的方式知道持续时间,也可以将其与应用程序打包(即硬编码)。

(*)如果podcast feed省略了duration字段,您仍然可以通过提取足够的音频文件来读取其时长,然后处理临时播放器来查询:

代码语言:javascript
复制
final disposablePlayer = Player();
final duration = await disposablePlayer.setAudioSource(...);
disposablePlayer.dispose();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65731552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档