【问题标题】:Get Duration of Streamed Audio file in [just-audio] Flutter Plugin?在 [just-audio] Flutter 插件中获取流式音频文件的持续时间?
【发布时间】:2021-08-07 09:23:06
【问题描述】:

我正在使用 Flutter 的 Just-Audio 插件来播放来自网络的音频。由于我需要使用 Just-Audio 的剪辑功能从末尾删除一点点音频,因此我需要获取文件的持续时间。

ClippingAudioSource(
      start: Duration(seconds: 0),
      end: Duration(milliseconds: duration-of-file-minus-500-milliseconds),
      child: AudioSource.uri(Uri.parse(
          "https://mybucket.s3.us-east-2.amazonaws.com/myaudio.mp3")),
    ),

那么我怎样才能得到这个“文件持续时间减去 500 毫秒”的数字呢?我正在使用 AWS S3 存储桶,所以我可以对元数据做些什么吗?

【问题讨论】:

    标签: flutter dart amazon-s3 audio-streaming just-audio


    【解决方案1】:

    你可以像这样获得音频的持续时间

    Duration _duration = await _audioPlayer.setUrl('audio_url');
    

    你可以使用just_audio插件的setClip方法

    await _audioPlayer.setClip(start: Duration(seconds: 10), end: Duration(seconds: 20));
    await _audioPlayer.play(); // Waits until the clip has finished playing
    

    【讨论】:

    • 我不清楚这应该如何从网络上获取音频文件的持续时间?
    • 我把新行放在下面; class _MyAppState extends State 但出现错误; “动态”类型的值不能分配给“持续时间”类型的变量。
    • 我也刚刚意识到它是异步的,所以我创建了一个 Future 但仍然遇到同样的错误。 Future getDuration(int audiotime) async { Duration _duration = await _player.setUrl('audio_url');}
    • 如果你想使用函数然后像这样使用 Future getDuration() async { final Duration _duration = await _audioPlayer.setUrl('audio_url');返回_duration; },否则单行 Duration _duration = await _audioPlayer.setUrl('audio_url');也将工作。两者都是一样的。它们都是音频的返回 Duration 值
    • 这个“音频的持续时间值”似乎没有给我我想要的整数;结束:持续时间(毫秒:文件持续时间减去 500 毫秒)?
    猜你喜欢
    • 2021-11-28
    • 2013-03-01
    • 2014-02-08
    • 2010-11-17
    • 2020-06-02
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多