2012-01-11 3 views
0

私はいくつかのシンプルなアプリのように作られています: - :しかし、一部の人々は、「エラーを取得しますmp.start()に関する問題。

 if (mp != null) { 
      mp.release();} 

     mp = MediaPlayer.create(this, sound); 
     mp.start(); 

タッチボタンそれはのように見えるなどのエミュレータ上で、

をそれは私の携帯電話上で動作音

を取得しますjava.lang.NullPointerException "mp.start();行にあります。

これをどのように修正できますか?

+0

サウンド滞在のように初期化する必要がありますか? –

答えて

0

が、これは作成が失敗した場合

0

MediaPlayer.create()は(docsを参照)はnullを返すことがあります助けるかもしれない。この

mp = new MediaPlayer(); 
mp.setDataSource(path); 
mp.prepare(); 
mp.start(); 

希望をお試しください。あなたがmpを割り当てた後、nullpointerチェックを追加してください。

編集:あなたが挿入する必要があります。

if(mp != null){ 
    mp.start(); 
} 
+0

それはどのように見えるべきですか?私は初心者です(申し訳ありません:) –

+0

nullチェックのコードを追加しました。これはクラッシュしませんが、サウンドも再生されません。あなたの 'MediaPlayer'が作られない理由をもっと深く見たいかもしれません。 –

+0

ありがとう、それは明らかなsooに見えます。私は正常なmp3ファイルを使用して、うーん、99.99%で正常に動作します。 –

0

をRES /生フォルダ内のサウンド滞在ならば、これを試してください::

MediaPlayer mp_xmPlayer2 = new MediaPlayer(); 
        mp_xmPlayer2 = MediaPlayer.create(this, R.raw.error); 
        mp_xmPlayer2.start(); 

あなたが任意のURIからサウンドを再生したい場合::

mPlayer.setDataSource(path); 
       mPlayer.prepare(); 
       mPlayer.start(); 

マニフェストに必ずセットの許可を行います。WriteExternalStorage

0

MPはこの

MediaPlayer mp_xmPlayer2 = new MediaPlayer();