尽管方向改变,但连续音频播放

时间:2015-07-14 18:33:10

标签: android audio

这个问题已被问过几次,但没有一个答案帮助我解决了我的问题,所以我发布了我的版本。

我正在创建一个通过服务播放歌曲列表的应用。问题是我在旋转设备后从mediaPlayer获得了一个null异常错误。正如您在下面看到的,我首先启动然后在onResume方法中绑定到我的服务。同样,我在onDestroy方法中取消绑定并停止服务。

protected void onResume() {
    if (playIntent == null) {
        playIntent = new Intent(MainActivity.this, MediaService.class);

 //       if (n < 0) {
            startService(playIntent);
            bindService(playIntent, mediaConnection, Context.BIND_AUTO_CREATE);
            Log.d("Check", "Started Service");
  //      }
    }

    super.onResume();
}

在我的服务中,我在服务的onCreate方法中设置了mediaPlayer,如下所示。我在onStartCommand方法中有一些东西(比如创建一个在操作栏中显示的通知)。我还在onStartCommand方法中返回Start_sticky。

不幸的是,就像我说的那样,当我旋转设备时,我从mediaPlayer获得了一个null异常。

请帮忙;我已经试图解决这个问题好几天了。

static private MediaPlayer player;
private final IBinder musicBind = new MediaBinder();
Notification notification;
private int playbackDuration;
static Uri paths[][] = new Uri[MainActivity.NUMBER_OF_ARTISTS][MainActivity.NUMBER_OF_TRACKS];

public void onCreate() {
    // create the service
    super.onCreate();
    player = new MediaPlayer();
    player.reset();
    player.setLooping(true);
    initMediaPlayer();

    Log.d("Check", "In Service's OnCreate method");

0 个答案:

没有答案