如何在我的应用程序的背景播放MediaPlayer主题曲?

时间:2015-07-28 19:43:13

标签: android android-mediaplayer

我有一个应用程序/游戏,我希望在后台播放一首主题曲(我目前正在使用意向服务这样做)

问题在于我希望音乐停止时,这个人会暂停"应用程序,但不会停止新的意图

使用onPause()会使歌曲停止,即使启动了新的意图。

感谢您的帮助。

更新: 通过使用不是活动的类来修复它,

1 个答案:

答案 0 :(得分:0)

创建一个扩展Service类的新Java类myservice。这是您的myservice类的代码。将您的音乐文件添加到res。

中的原始文件夹

myservice.java

package com.khurana.nikhil.servicetest;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.provider.MediaStore;
public class myservice extends Service {

MediaPlayer mp;
 //MediaStore.Video.Media mt;
@Override
public void onCreate() {
    super.onCreate();
    mp=MediaPlayer.create(this,R.raw.music);  //Music file name
}

@Override
public void onStart(Intent intent, int startId) {
    super.onStart(intent, startId);
    mp.start();


}

@Override
public void onDestroy() {
    super.onDestroy();

    mp.pause();

}

@Override
public IBinder onBind(Intent intent) {
    return null;

}



}

在AndroidManifest.xml中添加此内容

<service android:name=".myservice"
        android:enabled="true"
        android:exported="false"
        >
    </service>

在你的应用程序启动时,你可以使用它..

Intent in=new Intent(MainActivity.this,myservice.class);
startService(in);

音乐将在后台播放。 点击停止按钮,使用此...

stopService(in);