2016-07-29 2 views
0
@Override 
protected void onResume() { 
    playOrderSound(); 
    super.onResume(); 
} 
private void playOrderSound(Context context){ 
    player= MediaPlayer.create(context, R.raw.order); 
    player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    player.start(); 
    player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mp) { 
      player.reset(); 
      player.release(); 
     } 
    }); 
    player.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
     @Override 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      player.start(); 
      return false; 
     } 
    }); 
} 

私は音源を生のディレクトリに入れ、それを再生するためにmediaPlayerを使います。サーバが私にメッセージを送ります。私は新しい活動を開始し、mp3リソースを再生しますが、仕事。 新しいアクティビティはlauchmode singletaskで始まります。something about android mp3 play

+0

あなたが '' 'や' '' player.prepareAsync() '' 'の前に' '' ')(' '開始player.prepare()'を設定しなければならないしてみてください'' –

+0

私は作成者によって作成者を作成するので、もし私が準備()を設定すると、何らかのエラーが発生しました – user5607014

+0

申し訳ありません、もう一度チェックします –

答えて

0

はこの演奏まあ

@Override 
     protected void onResume() { 

      super.onResume(); 
      playOrderSound(Mainactivity.this); 



     } 

     private void playOrderSound(Context context){ 

      player = MediaPlayer.create(context, R.raw.acc); 
      player.start(); 


      player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
       @Override 
       public void onCompletion(MediaPlayer mp) { 
        player.reset(); 
        player.release(); 
       } 
      }); 
      player.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
       @Override 
       public boolean onError(MediaPlayer mp, int what, int extra) { 
        player.start(); 
        return false; 
       } 
      }); 
     } 
     protected void onDestroy() { 
      super.onDestroy(); 


      player.stop(); 

      } 
+0

私はplayer.setOnCompletionLisener()を削除すると動作します、ありがとうございます – user5607014

+0

これがあなたに役立っている場合は、 –