播放背景音乐,用户可以停止或重新启动或暂停音乐
Posted
技术标签:
【中文标题】播放背景音乐,用户可以停止或重新启动或暂停音乐【英文标题】:playing background music and the user can stop or restart or pause the music 【发布时间】:2013-05-02 20:55:07 【问题描述】:我正在开发一个 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();
如果您有任何不清楚的地方,请评论我的问题,我会尽力解释更多 感谢您的帮助
【问题讨论】:
【参考方案1】:您为什么不尝试将您的音乐曲目的当前位置保存在SharedPreferences
上?
查看 Android 文档中的 Storage options。
【讨论】:
我知道如何保存当前位置以及如何再次播放它,但是当用户播放我调用 startService(new Intent(this, MyService.class ));我对 SharedPreferences 没有任何想法,请您解释一下并感谢您的帮助 @MohammedDwekat 你的答案在我给你的第二个链接上。以上是关于播放背景音乐,用户可以停止或重新启动或暂停音乐的主要内容,如果未能解决你的问题,请参考以下文章