2

我正在根据来自 Android Hive 的教程创建一个 Android 音乐播放器,这里是链接。

http://www.androidhive.info/2012/03/android-building-audio-player-tutorial/

这是创建这样的音乐播放器的教程。

在此处输入图像描述

现在我已经使用本教程成功地创建了我的自定义音乐播放器,但它们的问题在于它不能在后台播放音乐。于是搜了一下,发现了这个帖子

在 Android 中跨活动播放 BG 音乐

我发现我必须从Android Service. 所以我使用了 Android Service ,创建了播放和暂停的方法,现在我的背景音乐运行成功。

现在这是主要问题

如何从依赖 MediaPlayer 对象(如seekbarTimer等)的服务更新这些组件,但我无法获得。

因为这些依赖于媒体播放器对象,而 MediaPlayer 对象现在在服务中。

4

2 回答 2

2

最好的方法是使用自定义,您可以在您需要创建的内部和内部BroadcastReceiver发送歌曲名称、艺术家等详细信息,您可以使用获取此详细信息PutExtraActivityOnReceiver()intent.getStringExtra("message");

在ServiceA.java中写这个

 Intent intent = new Intent();
 intent.putExtra("message","hi");
 intent.setAction("com.android.activity.SEND_DATA");
 context.sendBroadcast(intent); 

在ActivityA.java中写这个

private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
   // Extract data included in the Intent
   String message = intent.getStringExtra("message");
   Log.d("receiver", "Got message: " + message);
  }
};

现在注册Receiver

LocalBroadcastManager.getInstance(mContext).registerReceiver(mMessageReceiver,
  new IntentFilter("com.android.activity.SEND_DATA"));   
于 2013-05-30T09:36:07.760 回答
2

我现在即将完成我的音乐应用程序。我研究了 Android 默认音乐应用程序的代码。这对我有很大帮助。

你可以在这里看到:Platform_pkg_App_for_Music

于 2013-05-30T09:28:46.640 回答