2017-03-24 5 views
0

アクティビティが最初に起動したときにすぐにサウンドを再生したいと思い、MediaPlayerControlオブジェクトにこの変更を反映させたいと思います。下のコードでは、コントロールは、ファイルが既に再生されているため、一時停止モードではなく再生モードで起動します。すぐにMediaPlayerを起動してMediaPlayerControlを更新します

public class Guide extends AppCompatActivity implements MediaPlayerControl, MediaPlayer.OnPreparedListener { 

    private MediaPlayer m_audio_player; 
    private MediaController m_audio_controller; 
    private Handler handler = new Handler(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_guide); 
     set_up_audio(); 
    } 

    private void set_up_audio(){ 
     m_audio_player = MediaPlayer.create(this, *SOMESOUNDFILE*); 
     m_audio_player.setOnPreparedListener(this); 
     m_audio_controller = new MediaController(this); 
    } 

    public void onPrepared(MediaPlayer mediaPlayer) { 
     m_audio_controller.setMediaPlayer(this); 
     m_audio_controller.setAnchorView(findViewById(R.id.main_audio_view)); 
     handler.post(new Runnable() { 
      public void run() { 
       m_audio_controller.setEnabled(true); 
       m_audio_controller.show(); 
       m_audio_player.start(); 
       // how do I update m_audio_controller's state here? 
      } 
     }); 
    } 
} 

どうすればいいですか?

答えて

0

解決策を見つけました。初めてプレーヤーを起動した後にshowに電話すると動作します。

m_audio_player.start(); 
m_audio_controller.show(); 
関連する問題