2011-06-15 73 views
0

我有从ListActivity内播放一些音频一个活动。用户也可以点击列表项并转到更详细的数据视图。我想音频保持从一个活动到另一个过渡期间玩,继续玩了一次详细的活动是活跃的,但我也需要暂停音频如果我的活动被暂停或停止任何其他原因。不同活动之间区分过渡

我的问题是,我目前在ListActivity中暂停onPause()中的音频,因为我希望音频在用户离开我的活动时暂停。例如。当他们按Home或Back时。但是,我不希望音频在我的详细视图活动开始时暂停。在两种情况下都会调用onPause(),那么如何区分这两种情况?

回答

1

你不应该做的是在service呢?它会不会更容易?然后,您可以在某个活动暂停或退出时取消该服务(取决于您想要的服务)。你也可以检查它是否开始,并随时停止。

还是遗憾,如果我不明白你的问题。我看到你在这里有很多要点,所以也许我只是感到困惑。

---因为你的第三个评论编辑:

  1. 一个意向到B:用音乐的名称发送Intent
  2. 乙的onCreate:从Intent获得音乐的名称。将国旗x设置为true
  3. 乙的onResume:开始播放音乐,如果从最后已知位置A 简历,如果从B.
  4. 乙恢复后退按钮:覆盖,并设置xfalse。其实,你会覆盖你的活动finish es的所有点。
  5. 乙的onPause:停止音乐if(x),存储最后已知的在存储器中的音乐的位置和一站式服务。

在这里,我假设你想要的音乐,回头率,当一个演奏,(这是你说的,这就是问题所在),而不仅仅是高达B.设置x是重要的早期,国际海事组织,因为如果有的话出现其他活动(电话,任何内容),活动将立即停止播放音乐(用户期望)onPause。根据Android的指导原则,只有当用户按下后退按钮或完成()您的活动时,才知道您要回到A.您可以微调检查任务中活动的位置(现在不记得该怎么做)。个人而言,我也不想在A上继续播放(比如说B-> call-> home-> A,将步骤3也应用于A),因为发生事件逻辑流的中断那里。

CAVEAT:我会确保没有其他办法。我会试着看看你是否可以1)提前知道哪些活动即将显示。 2)获得任何音乐服务以连接您的任务(甚至有可能?)。

总之,只要用我的解决方案,如果你不能找到一个聪明的方法来做到这一点。这将是我的建议。祝你好运。

+0

不知道什么服务会为我在这里做。我已经可以在活动之间保持音频播放,但当onPause或onStop被调用时,我仍然需要暂停播放,除了我转换到细节活动。 – 2011-06-15 18:44:20

+0

如果你对这个问题感到困惑,其他人也会这样。我编辑希望更清楚。 – 2011-06-15 18:46:55

+1

就我所见,您希望播放音频:1)当活动A或B处于活动状态时;和2)如果列表中的项目处于活动状态(例如音乐标题),则可以进行良好控制。我相信,你可以同时使用您的onPause例程来标志一个布尔值,该服务,该服务将停止播放,你有假两个(当没有活动正在运行)每次。你也可以同时停用,当你不选择从列表中的项目...(...) – davidcesarino 2011-06-15 18:53:48