我正在学习Android应用开发的过程,并尝试创建一个歌曲应用。
问题:
我有两项活动, A:songslist & B:MediaPlayer的
B通过mp.prepareAsync();
播放远程歌曲,并在准备就绪时启动播放器。
即使我转到其他活动或打开任何其他应用程序,我仍希望继续播放该歌曲。
但问题来了,当歌曲正在运行并且我回去选择新歌,然后创建活动B它开始流式播放和播放新歌,因为旧歌仍在运行。
我的代码:
public void Play() {
if(mp.isPlaying())
{
releaseMediaPlayer();
Log.d("MediaPlayer", "Player is already running release it first");
}
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
URL = BASE_URL + album_files[songIndex];
mp.setDataSource(URL);
mp.prepareAsync();
btnPlay.setImageResource(R.drawable.btn_pause);
songTitleLabel.setText("Loading track, please wait....");
}
private void releaseMediaPlayer() {
if (mp != null) {
if(mp.isPlaying()) {
mp.stop();
}
Log.d("MediaPlayer", "Player is released");
mp.release();
mp = null;
}
}
答案 0 :(得分:0)
您应该在播放列表和媒体播放器活动旁边播放音乐。即使您退出程序,服务也会播放音乐,您可以使用小部件来控制播放音乐。
答案 1 :(得分:0)
试试this。使用答案,您可以提供后台服务,也可以提供后台服务。 祝你好运