2011-10-24 10 views
0

私はこれは私が閉じるエラーを強制的に与えImageViewのAndroidの再生音 - forcecloseエラー

   MediaPlayer mp = MediaPlayer.create(this, R.raw.ok); 
       mp.start(); 
       while (mp.isPlaying()) { 
        // donothing 
       }; 
       mp.release(); 

のタッチにwavファイルのサウンドを再生するためのコードの下に使用していますが、私は何をしないのですか?または、マニフェストファイルのパーミッションを提供する必要がありますか?..助けてください。

ありがとうございました

+1

あなたはurエラーのスタックトレースを提供していないときに助言を与えることは非常に困難です。 – PH7

+0

10-24 11:03:23.077:DEBUG/MediaPlayer(16983):作成に失敗しました: 10-24 11:03:23.077:DEBUG/MediaPlayer(16983):java.io.IOException:準備が失敗しました:ステータス= 0x1 10-24 11:03:23.077:DEBUG/MediaPlayer(16983):android.media.MediaPlayer.prepare(ネイティブメソッド) 10-24 11:03:23.077:DEBUG/MediaPlayer(16983):android.media .MediaPlayer.create(MediaPlayer.java:647) – Yogesh

+0

10-24 11:03:23.077:DEBUG/MediaPlayer(16983):android.media.MediaPlayer.create(MediaPlayer.java:647) 10-24 11:03 :23.077:DEBUG/MediaPlayer(16983):samples.demo.MainStart.CombineButton(MainStart.java:438) 10-24 11:03:23.077:DEBUG/MediaPlayer(16983):samples.demo.MainStart.access $ 0(MainStart.java:378) 10-24 11:03:23.077:DEBUG/MediaPlayer(16983):at samples.demo.MainStart $ 2.onTouch(MainStart.java:274) 10-24 11:03:23.077:DEBUG/MediaPlayer(16983):android.view.View.dispatchTouchEvent(View.java:3779) – Yogesh

答えて

1

作成したメディアプレーヤーの後で、開始する前にprepare()を呼び出す必要があります。このコードを試してください

MediaPlayer mp = MediaPlayer.create(this, R.raw.ok); 
       mp.prepare(); 
       mp.start(); 
+0

の返信に感謝していますか?そのエラーはjava.lang.nullpointerexceptionと同じです。それはイメージビューのタッチで再生wavをしようとするためですか? – Yogesh

0

これを試してみてください。

public void audioPlayer(String path, String fileName){ 
     //set up MediaPlayer  
     MediaPlayer mp = new MediaPlayer(); 

     try { 
      mp.setDataSource(path+"/"+fileName); 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     try { 
      mp.prepare(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     mp.start(); 

} 

このコードをコードに従って変更してください。また、エラーがある場合は、エラーログを投稿して、他の人が正確な問題を識別できるようにする必要があります。

+0

throwing java.lang.nullpointerexception – Yogesh

+0

java.io.IOExceptionが表示されています:準備に失敗しました。あなたはmp.prepare()を与えていません。 NullPpointerExceptionはどこにありますか?私はURログでそれを見ませんでした。 – Mathew

+1

デバッグして、ヌルポインタ例外がどこに来るのか正確に確認してください。 urイメージファイルをチェックしてください。また、rawファイルが – Mathew

関連する問題