我有一个应用程序可以在屏幕上播放显示其歌词的歌曲。
两种情况:
我的理解是,当通过互联网从远程位置流式传输歌曲时,Android服务即可解决。由于涉及的i / o开销,Android Service在此处有所帮助。在第一种情况下,歌曲从本地位置播放,服务可能是一种矫枉过正。我可以简单地播放在活动中加载它的音乐,并使用MediaPlayer API播放它。
这种理解是否正确?我错过了什么吗?
更新:歌曲大小超过10MB。因此,当您通过电话通过慢速互联网流式传输时,可能会有一些缓冲和填充以获得更好的用户体验。
提前致谢。
答案 0 :(得分:3)
对于不同的用例,有不同的Services
。对于Media Player
,这取决于您是否希望在后台或前台连续播放。
因此这两种情况都适用于Media Player Service
。但Android Developer Guide Media Player Service比我的答案更胜一筹
使用MediaPlayer服务
如果您希望媒体在后台播放,即使您的应用程序不在屏幕上 - 也就是说,您希望在用户与其他应用程序交互时继续播放 - 那么您必须启动一个服务并从那里控制MediaPlayer实例。您应该注意这种设置,因为用户和系统对运行后台服务的应用程序应该如何与系统的其余部分进行交互有所期望。如果您的应用程序无法满足这些期望,则用户可能会遇到不良体验。本节介绍了您应该了解的主要问题,并提供了有关如何处理它们的建议
您的第二个案例更多是关于网络的问题,在这种情况下,您可以使用IntentService下载.mp3
并将其传递给MediaPlayer。