gpt4 book ai didi

android - MediaPlayer 在单独的线程中使用 Service 或 IntentService

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:00:34 25 4
gpt4 key购买 nike

您好,我需要一个 MediaPlayer 实例在后台运行,所以我开始使用服务。

一切正常,但一段时间后我收到 ANR(应用程序未响应),即使 UI 运行良好。很公平,我知道服务仍在主线程上运行,所以 ANR 是有道理的。

所以我尝试使用 IntentService,它应该会生成自己的线程,但我除了头疼之外一无所获。当工作人员独立时,IntentService 似乎没问题,但这里不是这种情况,因为每次我需要更改轨道时,我都需要从主应用程序调用 startService(intent) 方法,而且我不想以多个 MediaPlayer 实例结束在彼此之上玩耍..

我还看到提示建议在服务中使用线程。我如何使用 Media Player 做到这一点?声明应该在该线程中还是仅在“准备/开始等”中?据我所见,这似乎行不通,但我可能只是实现错误

非常感谢任何提示,可能还有一个非常简单的例子。

干杯

最佳答案

我强烈建议您阅读此处的培训文档:http://developer.android.com/guide/components/services.html

这对我很有帮助。然后流式传输音频的 NPR 应用程序是开源的,所以请在此处查看他们的服务: http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/PlaybackService.java

阅读这两篇文章后,我建议您使用服务并自己处理线程。我还没有使用过 IntentService,但根据你的经验,处理音乐流似乎是错误的类。希望对您有所帮助!

关于android - MediaPlayer 在单独的线程中使用 Service 或 IntentService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13086885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com