2

MediaPlayer を次々と再生したいのですが、最初のファイルは取得できますが、残りのファイルは取得できません...

このコードが正しいかどうか...

private void playRecording()  {

    player = new MediaPlayer();

    player.setOnCompletionListener(new OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
            player.stop();
            if (i < numberOfFiles) {

                i++;
                playAudio(Environment.getExternalStorageDirectory()
                        .getAbsolutePath()
                        + "/android"
                        + i
                        + ".3gp");
            }else i=0;
        }


    });
    player.start();

playAudio:

  private void playAudio(String filename) {
      try {
      player.setDataSource(filename); 
      player.prepare();
      player.start();
  } catch (Exception e) { 
      // TODO Auto-generated catch block
      e.printStackTrace(); 
      } 
      }
4

2 に答える 2

3

電話の代わりに電話mp.release();した方がいいmp.reset();

release はオブジェクトを解放し、reset は単にオブジェクトを作成するようなものです。

于 2015-02-04T06:39:43.890 に答える