如何获取媒体播放器的时间位置

时间:2019-05-21 00:59:08

标签: ios swift dart flutter audio-streaming

我很难理解这里的逻辑。

我在Flutter中建立了一个媒体播放器,我试图让它向前跳过15秒,向后退15秒。

媒体播放器计算以下内容。

onDuration(),它以分钟和秒为单位获取音频轨道的整个持续时间。

然后是onPosition(),它以百分比形式计算其在音频文件中的位置。

例如,如果音频文件长10秒,则onPosition()函数中的1秒将是0.1。

我敢肯定,这里有一些疯狂的数学公式可以用来获取变量的持续时间和位置,该变量将以秒为单位显示位置,因此我可以提前+15秒。

到目前为止,我尝试输出的只是十进制%

让我感到困难的是,持续时间以分钟/秒的形式显示,而排名是%,因此需要进行转换。

1 个答案:

答案 0 :(得分:2)

在这种情况下,三个简单的规则可能会为您提供帮助:

Audio duration in seconds / 15 seconds = 1 / x
x = 15 seconds / Audio duration in seconds

翻译为Dart:

double percentageOf15SecondsInDuration(Duration duration) => 15 / duration.inSeconds;

要前进15秒,请将返回值添加到您的实际位置。向后15秒做相反的事情。