setMediaTime未在已实现的播放器上设置指定时间

时间:2014-12-17 06:49:31

标签: java jmf

我的情况是我使用javax.Media.Manager创建javax.Media.player实例(在wav foramt中播放音频),我的代码如下所示: -

  Player player = null;
  MediaLocator locator = new MediaLocator("file path to wav file");
  Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, new Boolean(true));
  try {
        player = Manager.createRealizedPlayer(locator);
    }
    catch (CannotRealizeException e) {
        e.printStackTrace();
    }
    player.addControllerListener(this);
    player.start();
    player.setMediaTime();

在玩了一个玩家的实例之后我就在它上面调用了setMediaTime,问题是玩家有时会根据提供的时间进行更新,有时则不会。 任何人都可以告诉我,我犯了什么错误。

1 个答案:

答案 0 :(得分:0)

最后,我通过调整代码来实现这一点,我通过

获得了播放器实例
Manager.createPlayer(localtor)

并通过忙碌的等待方法实现了我的播放器,一旦玩家意识到我调用了setMediaTime方法来设置音频开始设置。

我遇到这个问题的原因是,如果创建了新的播放器实例,并且一旦播放器启动并且实现调用setMediaTime对此没有任何影响,来自JMF API的BasicPlayer将启动一个新线程,基本上这是一个我忽略的线程问题。