ですから、友達と私は効果音と身元音楽を使ってゲームを作ろうとしています。私たちの1人は、サービスを使用してバックグラウンドミュージックを実装しましたが、それは非常に不安定で、アプリがクラッシュすることがあります。
サービスを使用するメリットは何ですか?
また、MediaPlayerを使用してバックグラウンドミュージックを再生し、SoundPoolを使用してサウンドエフェクトを再生できるかどうか疑問に思いました。..またはその悪いスタイルまたは非効率的ですか?
ありがとう!
ですから、友達と私は効果音と身元音楽を使ってゲームを作ろうとしています。私たちの1人は、サービスを使用してバックグラウンドミュージックを実装しましたが、それは非常に不安定で、アプリがクラッシュすることがあります。
サービスを使用するメリットは何ですか?
また、MediaPlayerを使用してバックグラウンドミュージックを再生し、SoundPoolを使用してサウンドエフェクトを再生できるかどうか疑問に思いました。..またはその悪いスタイルまたは非効率的ですか?
ありがとう!
サービスを使用するメリットは何ですか?
サービスを使用してサウンドを制御すると、フォアグラウンドにない場合でもアプリでサウンドを実行し続けることができます。1つの良い例は音楽アプリです。たとえば、ユーザーがホームボタンを押したときに音楽を流し続けるのは合理的です。
さて、2番目の質問に関しては、はい、ゲームミュージックにはMediaPlayerを使用し、エフェクトにはSoundPoolを使用する必要があります。ただし、パフォーマンスの問題に気付いた場合は、それらを別のスレッドに配置することも検討する必要があります。
私にとって最も効果的なのは(そして一般的に受け入れられていると思いますが)、音楽にはMediaPlayerを使用し、効果音にはSoundPoolを使用することです。
サービスを使用して音楽やサウンドを再生することは避けてください(サービスの背後にある考え方は、バックグラウンドで実行する必要があるためです)。ただし、UIスレッドでサウンドを再生したくない場合は、追加のスレッドを作成できます。私は個人的にすべてのサウンドをメインスレッドから呼び出していますが、すべて正常に機能しているようです。
これがお役に立てば幸いです。