我正在使用服务播放背景音乐。问题是,当我完成练习后,音乐会继续播放。当我按下home键音乐停止时,我想让音乐在应用程序使用时继续播放,并在home键按下帮助我时停止。你能告诉我怎么做吗?
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() {
}}
发布于 2014-01-02 20:22:12
您应该使用服务并播放音乐。
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的代码太大了。这是我做的样品
https://stackoverflow.com/questions/20882767
复制相似问题