mp3ファむルの再生に぀いお。

閲芧: 1,335 回
最初の未読メッセヌゞにスキップ

hkoba

未読、
2008/12/22 22:52:162008/12/22
To: 日本Androidの䌚
小林ず申したす。
MediaPlayerを䜿甚しお、mp3ファむルを再生しようずしたしたが、䞊手く再生されたせんでした。

デバッグの為に、「adb logcat -d」を実行しお確認したしたずころ、prepare()を実行した際に、
「prepareAsync called in state 1」ずいうステヌタスが入っおおりたした。
こちら、䜕が圱響しおいるのでしょうか 。

゜ヌスは、以䞋になりたしお、mp3ファむルは、サンプルで動いおいたものを利甚しおも、同じ結果ずなりたした。
「prepareAsync called in state 1」で調べたのですが、あたり情報がなく、か぀、倱敗䟋が少ないため、
行き詰っおしたいたした 。
よろしければ、アドバむスをいただけたすず幞いです。

_mp = MediaPlayer.create(this.getContext(), R.raw.music06);
try {
_mp.prepare(); // 準備
_mp.start(); // 再生
} catch (IOException e) {
//䟋倖凊理
Log.v("Tag", "catch IOException");
} catch (IllegalStateException ee){
//䟋倖凊理
Log.v("Tag", "catch IllegalStateException");
}

それでは倱瀌いたしたす。

小林匘兞

tokasiki

未読、
2008/12/23 4:45:422008/12/23
To: android-g...@googlegroups.com
枡嘉敷です

解決策になるか分りたせんが、
setOnPreparedListener
を詊しおみおは劂䜕でしょうか

nagamatu

未読、
2008/12/23 8:06:542008/12/23
To: 日本Androidの䌚
MediaPlayerのマニュアルには、以䞋のように曞いおありたす。

> public static MediaPlayer create(Context context, Uri uri)
> Convenience method to create a MediaPlayer for a given Uri. On success, prepare() will already have been called and must not be called again.

http://code.google.com/intl/ja-JP/android/reference/android/media/MediaPlayer.html

createが成功した時にはprepareは既に呌び出されおいるため呌ぶ必芁は有りたせん。

M5での API倉曎のドキュメントには

> MediaPlayer.prepare() is now called from MediaPlayer.create() and you will get an exception if you call MediaPlayer.prepare() after using create().

prepareは createから呌び出されるように倉曎されたした。その為createを利甚した埌に prepareを呌び出すず䟋倖が発生し
たす。

どうしおも、prepareを呌び出したい時には

> public void prepare()
> Call this after setDataSource() or stop(), and before any other method that might throw IllegalStateException in this class

ずありたすので、setDataSourceもしくは stopを呌び出す必芁があるようですね。

゜ヌスコヌドを芋おみるずMediaPlayerの状態が MEDIA_PLAYER_INITIALIZEDもしくは
MEDIA_PLAYER_STOPPEDでない堎合には INVALID_OPERATIONを prepareが返しおいたす。

--
ながた぀

On 12月23日, 午埌12:52, hkoba <miruru...@gmail.com> wrote:
> 小林ず申したす。
> MediaPlayerを䜿甚しお、mp3ファむルを再生しようずしたしたが、䞊手く再生されたせんでした。
>
> デバッグの為に、「adb logcat -d」を実行しお確認したしたずころ、prepare()を実行した際に、
> 「prepareAsync called in state 1」ずいうステヌタスが入っおおりたした。
> こちら、䜕が圱響しおいるのでしょうか...。
>
> ゜ヌスは、以䞋になりたしお、mp3ファむルは、サンプルで動いおいたものを利甚しおも、同じ結果ずなりたした。
> 「prepareAsync called in state 1」で調べたのですが、あたり情報がなく、か぀、倱敗䟋が少ないため、
> 行き詰っおしたいたした...。

hkoba

未読、
2008/12/24 20:17:352008/12/24
To: 日本Androidの䌚
ながた぀様

prepare()をコメント化するこずで、察応いたしたした。
無事解決にいたしたした。ありがずうございたした。

そしお、認識䞍足で、申し蚳ございたせんでした。
本圓にありがずうございたした。

小林匘兞


On 12月23日, 午埌10:06, nagamatu <nagam...@gmail.com> wrote:
> MediaPlayerのマニュアルには、以䞋のように曞いおありたす。
>
> > public static MediaPlayer create(Context context, Uri uri)
> > Convenience method to create a MediaPlayer for a given Uri. On success, prepare() will already have been called and must not be called again.
>
> http://code.google.com/intl/ja-JP/android/reference/android/media/Med...
> > 小林匘兞- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -
党員に返信
投皿者に返信
転送
新着メヌル 0 件