2017-05-27 50 views
0

我在展示媒體播放器時遇到了問題。 1)隱藏媒體控制器後僅顯示媒體控制器3秒鐘。 2)媒體控制器應該只在活動關閉或後退按鈕按下時銷燬。 3)媒體控制器正在查看我想要更改媒體控制器查看位置的活動的底部。如何顯示媒體控制器直到歌曲結束?

public void audioplayer(View view) 
{ 
    mediaController = new MediaController(this); 


    if(mediaPlayer.isPlaying()) 
    { 
     mediaPlayer.stop(); 
    } 

    mediaPlayer.reset(); 
    try { 
     mediaPlayer.setDataSource(path); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     mediaPlayer.setOnPreparedListener(this); 
     mediaPlayer.prepare(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 
public void onPrepared(MediaPlayer mediaPlayer) { 

    mediaPlayer.start(); 

    Log.d(TAG, "onPrepared"); 
    mediaController.setMediaPlayer((MediaController.MediaPlayerControl) this); 
    mediaController.setAnchorView(findViewById(R.id.main_audio_view)); 

    handler.post(new Runnable() { 
     public void run() { 
      mediaController.setEnabled(true); 
      mediaController.show(); 
     } 
    }); 
} 




@Override 
protected void onStop() { 
    super.onStop(); 
    mediaController.hide(); 
    mediaPlayer.stop(); 
    mediaPlayer.release(); 
} 


@Override 
public boolean onTouchEvent(MotionEvent event) { 
    //the MediaController will hide after 3 seconds - tap the screen to make it appear again 
    mediaController.show(); 
    return false; 
} 

//--MediaPlayerControl methods---------------------------------------------------- 
public void start() { 
    mediaPlayer.start(); 
} 

public void pause() { 
    mediaPlayer.pause(); 
} 

public int getDuration() { 
    return mediaPlayer.getDuration(); 
} 

public int getCurrentPosition() { 
    return mediaPlayer.getCurrentPosition(); 
} 

public void seekTo(int i) { 
    mediaPlayer.seekTo(i); 
} 

public boolean isPlaying() { 
    return mediaPlayer.isPlaying(); 
} 

public int getBufferPercentage() { 
    return 0; 
} 

public boolean canPause() { 
    return true; 
} 

public boolean canSeekBackward() { 
    return true; 
} 

public boolean canSeekForward() { 
    return true; 
} 

@Override 
public int getAudioSessionId() { 
    return 0; 
} 
//-------------------------------------------------------------------------------- 

媒體控制器。在上面的代碼,媒體控制器顯示只有三個seconds.please幫助我如何解決這一信息。媒體播放器應該顯示,直到歌曲結束,也媒體控制器應只隱藏當活動被摧毀時。

回答

0

public boolean onTouchEvent(MotionEvent event)中的return語句更改爲true。並刪除if(mediaPlayer.isPlaying()) { mediaPlayer.stop(); } 我也是新來的android希望它幫助..

+0

仍然問題沒有解決。 –