1

所以我和我的朋友们正在尝试制作一款带有音效和背景音乐的游戏。我们中的一个人使用服务实现了背景音乐,但它真的很不稳定,有时会导致应用程序崩溃。

我想知道使用服务有什么好处?

另外,我想知道我们是否可以只使用 MediaPlayer 播放背景音乐和 SoundPool 播放音效?..还是那种糟糕的风格或效率低下?

谢谢!

4

2 回答 2

4

我想知道使用服务有什么好处?

当您希望应用程序继续运行声音(即使它不在前台)时,使用服务来控制声音很有用。一个很好的例子是音乐应用程序。例如,当用户点击 Home 按钮时,让音乐继续播放是合理的。

现在,关于您的第二个问题,是的,您应该使用MediaPlayer作为游戏音乐,使用SoundPool作为效果。但是,如果您发现性能问题,您还应该考虑将它们放在单独的线程中。

于 2012-09-01T20:00:15.773 回答
1

最适合我的(我认为通常被接受)是使用 MediaPlayer 播放音乐,使用 SoundPool 播放音效。

我相信你应该尽量避免使用服务来播放音乐或声音(因为服务背后的想法是它应该在后台运行)。然而,如果您不想在 UI 线程中播放任何声音,您可以创建一个额外的线程。我个人从主线程调用我所有的声音,它似乎工作得很好。

我希望这有帮助。

于 2012-09-01T19:23:54.080 回答