Android:MediaPlayer.setOnPreparedListener()

Pri*_*alj 1 android runnable android-mediaplayer

我有一个Service,它实现了MediaPlayer.OnPreparedListener.

到目前为止,我在一个函数中调用了player.setOnPreparedListener(this)并且运行良好.现在我想从Runnable调用setOnPreparedListener(使用Handler),但是我得到错误

MediaPlayer类型中的方法setOnPreparedListener(MediaPlayer.OnPreparedListener)不适用于参数(new Runnable(){})

因此,与其这样,我需要用的东西,将指向当前的类.问题是,什么?

MBy*_*ByD 8

我假设您打电话时player.setOnPreparedListener(this),您的活动已实施MediaPlayer.OnPreparedListener.你Runnable当然不是(当然).有两种选择:

  1. 如果在活动内部实现了此runnable,请使用完全限定的this:YourActivity.this
  2. 如果没有,您可以在调用点实现此侦听器:

    player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
        // do stuff here
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)