rei*_*ley 0 android android-mediaplayer
我正在尝试创建一个音乐播放器.我的申请有2名球员 -
(a)从记忆中播放歌曲
(b)使用URL播放在线音乐流
我的应用的主页/默认活动是(a).对于玩家(b),有一个单独的活动.
问题是当用户按下活动(b)中的播放按钮播放URL流时,播放来自内存的曲目.
似乎活动(a)中的MediaPlayer仍处于活动状态.
所以我想:
如果用户按下播放按钮,则所有其他媒体播放器都会停止.
有没有办法获得其他媒体播放器的参考; 检查它们是否有效; 如果是,那就停止它们.
从模糊的角度来看,我认为这可以通过向活动(a)发送一个功能broadcast来完成Service,并在那里制作一个能够收听并停止播放器的功能.
但这对我来说似乎有点粗野,我应该如何在(a)中获得玩家的参考.
希望我已经清除了我的怀疑.
请建议.
谢谢
您可以在项目中创建一个类,并将其命名为MediaPlayerRegistry,您可以在其中存储对当前使用的每个mediaPlayer对象的引用.并在您的应用中的任何位置访问它们以停止/释放/重播它们.它看起来像这样:
public class MediaPlayerRegistry {
public static List<MediaPlayer> mList = new ArrayList<MediaPlayer>();
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过任何活动致电:
MediaPlayerRegistry.mList.put(MediaPlayer mPlayer);
Run Code Online (Sandbox Code Playgroud)
将它添加到您的注册表...当您想要释放它时,停止任何正在运行的对象.
for ( MediaPlayer player : MediaPlayerRegistry.mList) {
if (player != null && player.isplaying() {
player.release();
}
}
Run Code Online (Sandbox Code Playgroud)
只需将其视为您自己的MediaPlayer对象池
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |