私はメディアプレーヤーを表示する際に問題に直面しています。 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;
}
//--------------------------------------------------------------------------------
方法this.Theメディアプレーヤーを解決するために私を助けてseconds.pleaseメディアコントローラは、3つだけのために示されていることをメディアコントローラ.INのため、上記のコードを示す必要があるともメディアコントローラのみを非表示にします活動が破壊されたとき。
まだ問題は解決されません。 –