【问题标题】:MediaPlayer seekTo random durationMediaPlayer seekTo 随机持续时间
【发布时间】:2018-04-07 15:20:42
【问题描述】:

我有一个MediaPlayer,我从一个链接流式传输一个 MP3 文件,我希望音乐根据 MP3 的持续时间随机化。

我曾尝试使用MediaPlayerseekTo() 中的Random 类和getDuration(),但可能由于缓冲问题而失败。

下面的代码只是reset() 文件,因为我未能将其设置为随机持续时间。 请帮帮我

try {
      mediaPlayer.setDataSource(MainActivity.this, uri);
      mediaPlayer.prepare();
      mediaPlayer.start();
     } catch (IOException e) {
      dialog.dismiss();
}

【问题讨论】:

  • getDuration 返回曲目的持续时间或 mp3 文件中的任何声音。您可能正在寻找超出范围的位置。您只能寻求 0 - 总持续时间(由 getDuration() 返回)。
  • 我知道,这就是为什么我要问如何在没有负随机数的情况下根据总持续时间创建一个随机整数

标签: java android android-mediaplayer


【解决方案1】:

试试这个随机位置:

randomPosition = ThreadLocalRandom.current().nextInt(0, mediaPlayer.getDuartion() + 1);

然后寻找:

mediaPlayer.seekTo(randomPosition);

【讨论】:

    猜你喜欢
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多