我正在开发一个 Android 游戏,我为我们的介绍播放一些背景音乐(我们有一个介绍活动),但我希望它继续播放到下一个活动,并且也许能够从应用程序中的任何位置停止或再次播放音乐.
我已经创建了服务类来做到这一点
一切正常,但我只需要当用户停止音乐时媒体播放器保存 getCurrentPosition(); 这样我就可以播放由 seekTo(msec) 计数的音乐;
要点是如果用户在长度的中间停止音乐,则音乐不会从头开始(就像用户可以暂停音乐并继续音乐一样)
我用
startService(new Intent(this, MyService.class));
开始音乐
我用
stopService(new Intent(this, MyService.class));
停止音乐
这是我的 MyService 课程
public class MyService extends Service {
private static final String TAG = "MyService";
MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show();
Log.d(TAG, "onCreate");
player = MediaPlayer.create(this, R.raw.game_music3);
player.setLooping(false); // Set looping
}
@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
Log.d(TAG, "onDestroy");
player.stop();
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
player.start();
}
protected void onNewIntent() {
player.pause();
}
}
如果您有任何不清楚的地方,请评论我的问题,我会尽力解释更多谢谢您的帮助