[新手求救]同一个Activity下两个fragment同时播放音乐,真糟糕

wo叫天然呆 2014-06-30 05:23:39
我在同一个Activity下有两个Fragment,分别是本地音乐和在线音乐
点击都可以播放音乐
但是我发现两边能同时播放,很吵杂,不知道该如何优化
public void playMusic(final String path) {
// 异步线程播放音乐
new Thread() {
public void run() {
try {
if (player != null) {
player.stop();
player.reset();// 重置
player.setDataSource(path);// 多媒体来源
player.prepare();// 准备(同步)
player.start();// 开始播放
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}

public void stopMusic() {
if (player != null) {
player.stop();
}
}
...全文
279 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
海绵宝宝_ 2014-07-01
  • 打赏
  • 举报
回复
可以只用同一个Mideplayer 设置一个单例模式
qizhusaipao 2014-07-01
  • 打赏
  • 举报
回复
不错
wo叫天然呆 2014-07-01
  • 打赏
  • 举报
回复
引用 3 楼 baidu_16117309 的回复:
play时加上同步锁
你好,请问能否说得详细一些?谢谢
逍遥笑 2014-07-01
  • 打赏
  • 举报
回复
那可以你将播放音乐的方法写成公共的,都调用这一个方法,切换点击的时候,传入你想播放的音乐,直接播放你点击的音乐
baidu_16117309 2014-07-01
  • 打赏
  • 举报
回复
play时加上同步锁
wo叫天然呆 2014-07-01
  • 打赏
  • 举报
回复
引用 1 楼 rtyou1234 的回复:
那你在fragment中设置一个属性判断当前fragment是否在运行音乐,然后在activity中获取这个判断,在切换fragment的时候,判断该属性状态来设置是否播放音乐
这是个办法,是否还有别的办法?
逍遥笑 2014-07-01
  • 打赏
  • 举报
回复
那你在fragment中设置一个属性判断当前fragment是否在运行音乐,然后在activity中获取这个判断,在切换fragment的时候,判断该属性状态来设置是否播放音乐

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧