我正在使用服务播放背景音乐。问题是当我完成活动后音乐继续播放。当我按下主页按钮音乐停止我想让音乐在使用应用程序时继续播放,当主页按钮按下时请停止帮助我。可以告诉我如何做到这一点
private static final String TAG = null;
MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.sample);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
// TODO
}
public IBinder onUnBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
答案 0 :(得分:0)
您应该使用服务并播放音乐。
http://developer.android.com/guide/components/services.html
服务在后台运行,因此即使您切换活动,它仍会运行,您可以在那里播放音乐。
您可以启动服务,然后在需要时停止服务。您还可以将服务绑定到活动。请查看上述链接中的文档以获取更多信息。
示例:
https://thenewcircle.com/s/post/60/servicesdemo_using_android_services
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;
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.braincandy);
// song is res/raw/yourmusicfile.mp3
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();
}
}
现在只需启动该服务,您就可以在需要时停止服务。您可以在活动之间切换,服务仍然可以播放音乐。
由于代码我很大,我上传到DropBox。这是我制作的样本