我正在尝试在其布局中创建一个带有一个按钮的活动,该按钮将在按下时暂停或恢复音乐。问题是当它被按下以恢复音乐时,它会重新启动音频文件。知道如何让它从它停止的最后一点开始播放而不是重新启动它吗?
主要活动
public class MainActivity extends Activity implements OnClickListener {
private Boolean isMusicPlaying;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View musicButton = findViewById(R.id.music_button);
musicButton.setOnClickListener(this);
startService(new Intent(getBaseContext(), MusicService.class));
isMusicPlaying = true;
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.music_button)
if (isMusicPlaying) stopService(new Intent(getBaseContext(),
MusicService.class));
else startService(new Intent(getBaseContext(), MusicService.class));
isMusicPlaying = !isMusicPlaying;
}
}
服务等级
public class MusicService extends Service {
MediaPlayer player;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.song);
player.setLooping(true); // Set looping
player.setVolume(100, 100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return START_STICKY;
}
@Override
public void onDestroy() {
player.pause();
}
}