У меня есть два мероприятия, домашнее задание и ближе. У меня в домашнем задании играет песня, но при нажатии кнопки медиаплеер останавливается и открывается ближе. В моей функции onPause я пытаюсь приостановить медиаплеер, но это не сработает, открывается более близкая активность, а музыка все еще играет. Раньше я настраивал его так, чтобы в прослушивателе кнопок на домашнем задании активности медиаплеер приостанавливался, но медиаплеер не возобновлялся, когда я устанавливал его в onResume. Я думаю, что это может быть проблема с областью действия для медиаплеера, может ли кто-нибудь помочь мне с этим?
package com.cis.lab4;
import java.io.IOException;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.res.AssetFileDescriptor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Homework extends Activity {
final MediaPlayer mediaplayer = new MediaPlayer();
int media_length;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_homework);
setPlayer();
mediaplayer.start();
Button next = (Button) findViewById(R.id.homeworkContinue);
final Intent openCloser = new Intent(this, EndActivity.class);
next.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
startActivity(openCloser);
}
});
}
public void onResume(Bundle savedInstanceState){
super.onResume();
mediaplayer.seekTo(media_length);
mediaplayer.start();
}
public void onPause(Bundle savedInstanceState){
mediaplayer.pause();
media_length = mediaplayer.getCurrentPosition();
}
public void setPlayer(){
AssetFileDescriptor afd;
try {
afd = getAssets().openFd("rev.mp3");
mediaplayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
mediaplayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
}
}