开发一个android小游戏,播放背景音乐用哪个类实现最好

wyf35429827 2012-01-11 03:05:08
开发一个android小游戏,播放背景音乐用哪个类实现最好
...全文
611 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyf35429827 2012-01-11
  • 打赏
  • 举报
回复
我最终的解决方案是 MediaPlayer+SoundPool 来控制游戏的声音
MediaPlayer 用来控制游戏背景音乐的播放。
SoundPool播放游戏音效,在初始化时加载游戏中用的所有音效文件,然后在游戏中进行播放,这样声音没有延迟,保证了游戏的性能。最初我还想让背景音乐也使用SoundPool进行播放,可是经过测试,总是不成功,而且在初始化时会很慢,不知道是不是因为SoundPool不适用较大的音乐文件?

我在网上也看到相关教程上讲要用service,我觉得完全没必要,那是对service理解的不够透彻。这可能是因为大多讲解service的教程都喜欢用音乐播放器的例子,所以产生了一个误解,认为只要是播放音乐就要用到service,其实人家说的是开发一个音乐播放器,这个播放器需要在系统后台持续播放歌曲,而不管是用户停留在当前应用界面还是退出到了系统桌面,或是切换到了另一个应用的界面,总之意思是说要在系统后台进行播放,所以必须要用到service。而一个游戏的背景音乐是在游戏运行的时候播放,而在返回到桌面后或者其他应用来到前台把游戏遮住时,都应该立即停止播放的,怎么讲都用不到service啊。
有人可能说播放背景音乐应该在后台执行,不应该影响程序的正常运行,这样说当然对,但是这仅需要一个单独的线程来专门播放音乐就可以了,而经我测试MediaPlayer和SoundPool都已经实现了在独立的线程中播放音乐,所以综上所述我认为游戏中播放背景音乐完全没必要使用service,只需直接使用MediaPlayer即可。
wyf35429827 2012-01-11
  • 打赏
  • 举报
回复
用service? 没必要吧,只是在运行游戏的时候播放背景音乐,再搞个service出来,不是把简单的问题搞复杂了

我想问的是,用哪个音频播放类比较好,比如MediaPlayer 或者 SoundPool 或者有其他更好的类。
逐Ls梦 2012-01-11
  • 打赏
  • 举报
回复
恩,用service,1楼没错
hnwhh 2012-01-11
  • 打赏
  • 举报
回复
service+mediaplayer

80,349

社区成员

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

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