Androidのアプリって音声再生方法が2つあるらしいんです。
それが、タイトルにもつけてますように、mediaplayerを利用した方法と、soundpoolを利用した方法らしいんです。
当初、何も知らなかった私は、soundpoolを利用して、音声を再生するアプリを製作していたんです。
ところが・・・
音声ファイルの半数が再生できず、もう半数は、途中でブチっと途切れて、まともに再生できるファイルが無かったんです。
私は、慌てて原因を考えました。
データの容量が大きすぎたのかと思い、データを極限まで小さくしました。・・・でも直りません。
mp3形式を使っていたのですが、とりあえずogg形式に変換して試してみました。・・・それでも直りません。
早くも万策尽きた私は、google先生に助けを求めることにしました。
そしたら、一瞬で答えが見つかりましたね・・・
どうやら、開発者界隈では常識とも呼べるレベルの問題だったみたいです。
soundpoolは、主に効果音等のために利用するものであり、10秒が再生可能時間の上限なんだそうです。
(私が独自にmp3やogg形式の様々な音楽ファイルで試したところ、5秒~6秒あたりが再生の限界でした)
mediaplayerに再生方法を変えると、全ファイル問題なく聞けるようになりました。
素人が開発をすると、玄人の方にとっては思いもよらない壁に頭をぶつけることが多々ありますので、やはり開発というのは大変だな~と改めて実感いたしました。
以下は、soundpoolとmediaplayerの違いについて分かりやすく比較してくださっている他サイトの記事です。本投稿においても参考にさせて頂いております。
http://www.kumikomi.net/archives/2011/12/di09and3.php?page=2