0

res フォルダーに raw フォルダーを作成し、そこに .mp3 ファイルを入れました。

ボタンがクリックされたときにこのメソッドを実行しています:

        try{
        MediaPlayer mp = MediaPlayer.create(this, R.raw.clickon);
          mp.start();

        } catch(Exception e){System.out.println(e);}
                 System.out.println("This text is run");

ファイルが十分な時間内にロードされていないということですか?クラスの先頭でグローバルに宣言する必要がありますか?

4

2 に答える 2

0

あなたのコードを実装しようとしましたが、私のマシンでは問題なく動作しています。次の説明をお願いします。

  1. context(MediaPlayer.create メソッドの最初の引数)は何を表していますか? ボタンを表示するアクティビティ コンテキストでよろしいですか?
  2. setOnClickListener クラスをどのように実装しましたか?
  3. raw フォルダーの下に、保存したファイルに拡張子 (.mp3) を付けましたか?
于 2013-11-06T11:45:25.840 に答える
0

使用後はmediaplayerオブジェクトを解放してください。

サウンド再生アプリの1つに次のコードを使用しました:-

private void playSound()
 {
    final MediaPlayer mp1=MediaPlayer.create(getBaseContext(), R.raw.button_sound);
    mp1.start();
    mp1.setOnCompletionListener(new OnCompletionListener() 
    {   
       @Override
       public void onCompletion(MediaPlayer mp) 
       {
           Log.v("onCompletion", "sound completed");
           mp1.release();
       }
       });  
}
于 2013-11-06T12:07:45.820 に答える