Пауза в MediaPlayer Service
Добавлено: 04 сен 2014, 12:21
Как продолжить проигрывание сервиса MediaPlayer с того места, на котором была нажата кнопка паузы?
Сколько пробую - постоянно песня начинается сначала.
public class BackgroundSoundService extends Service {
MediaPlayer player;
public int currentPos;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
final int MAX_VOLUME = 100;
player = MediaPlayer.create(this, R.raw.lightmusic);
player.setLooping(true);
float soundVolume = 77;
final float volume = (float) (1 - (Math.log(MAX_VOLUME - soundVolume) / Math
.log(MAX_VOLUME)));
player.setVolume(volume, volume);
/////////////////player.seekTo(currentPos);
////////////////// player.start();
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.seekTo(currentPos);
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
////////////////player.seekTo(currentPos);
/////////////////// player.start();
}
@Override
public void onRebind(Intent intent) {
super.onRebind(intent);
}
public void onStop() {
currentPos = player.getCurrentPosition();
player.pause();
}
public void onPause() {
currentPos = player.getCurrentPosition();
player.pause();
}
@Override
public void onDestroy() {
currentPos = player.getCurrentPosition();
player.pause();
//player.release();
}
@Override
public void onLowMemory() {}
}
public void onStart(Intent intent, int startId) {
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
player.pause();
}
public void onPause() {
player.pause();
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
И активити с 2 onClick методами:
public class MainActivity extends QuizActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
startService(new Intent(this, BackgroundSoundService.class));
}
public void stopClick(View v) {
stopService(new Intent(this, BackgroundSoundService.class));
}
public void playClick(View v) {
startService(new Intent(this, BackgroundSoundService.class));
}
@Override
protected void onResume() {
super.onResume();
}
}
Сколько пробую - постоянно песня начинается сначала.
public class BackgroundSoundService extends Service {
MediaPlayer player;
public int currentPos;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
final int MAX_VOLUME = 100;
player = MediaPlayer.create(this, R.raw.lightmusic);
player.setLooping(true);
float soundVolume = 77;
final float volume = (float) (1 - (Math.log(MAX_VOLUME - soundVolume) / Math
.log(MAX_VOLUME)));
player.setVolume(volume, volume);
/////////////////player.seekTo(currentPos);
////////////////// player.start();
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.seekTo(currentPos);
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
////////////////player.seekTo(currentPos);
/////////////////// player.start();
}
@Override
public void onRebind(Intent intent) {
super.onRebind(intent);
}
public void onStop() {
currentPos = player.getCurrentPosition();
player.pause();
}
public void onPause() {
currentPos = player.getCurrentPosition();
player.pause();
}
@Override
public void onDestroy() {
currentPos = player.getCurrentPosition();
player.pause();
//player.release();
}
@Override
public void onLowMemory() {}
}
public void onStart(Intent intent, int startId) {
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
player.pause();
}
public void onPause() {
player.pause();
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
И активити с 2 onClick методами:
public class MainActivity extends QuizActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
startService(new Intent(this, BackgroundSoundService.class));
}
public void stopClick(View v) {
stopService(new Intent(this, BackgroundSoundService.class));
}
public void playClick(View v) {
startService(new Intent(this, BackgroundSoundService.class));
}
@Override
protected void onResume() {
super.onResume();
}
}