2017-05-05 4 views
0

私は学生プログラマーですので、ルーキーエラーなどを許してください。割り当てのために、メディアプレーヤーを使用して配列から曲を再生しようとしています。アレイの最初の曲はうまく再生されますが、次のトラックと最後のトラックのボタンが私の問題点です。誰でも私の音楽の配列から次の/最後の曲を演奏する方法を提案できますか?何か助けていただければ幸いです。また、簡単なエラーをお許しください。メディアプレーヤーを使用して配列の次の曲を再生する方法

該当しないコードは含まれていません。

// Arrays of sound files private int[] audioFileArrayChill = {R.raw.vanilla_summer, R.raw.lifeline, R.raw.remember_the_mountain_bed};

// Listen for the end of the track 
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mp) { 
      for (int x = 1; x <= audioArray.length; x++) { 
       currentIndex++; 
       // Play next song in array 
       mp.selectTrack(audioArray[x]); 
       mp.start(); 

      } 


     } 
    }); 


// Assigning onClickListener to last track button 
    lastTrack.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mediaPlayer.reset(); 
      mediaPlayer.selectTrack(audioArray[currentIndex - 1]); 
      try { 
       mediaPlayer.prepare(); 
       mediaPlayer.start(); 
      } catch (IOException e) { 
       Log.e("Error", "ERROR"); 

      } 

     } 
    }); 


// Assigning onClickListener to next track button 
    nextTrack.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mediaPlayer.reset(); 
      mediaPlayer.selectTrack(audioArray[currentIndex + 1]); 
      try { 
       mediaPlayer.prepare(); 
       mediaPlayer.start(); 
      } catch (IOException e) { 
       Log.e("Error", "ERROR"); 

      } 


     } 
    }); 
+0

をクリックして、正確な問題は何ですか?エラーを記録していますか?次の最後のトラックを押すとどうなりますか? – ChrisStillwell

+0

いずれかのボタンを押すとアプリケーションがクラッシュする - 経験不足のためにメディアプレーヤーの機能が正しく使用されていないと感じているので、すぐにアプリケーションを実行してエラーログをすぐに投稿します! – ThunderGrad

答えて

0

次のボタンのコード下記の使用が

nextTrack.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mp.stop(); 
     mp.reset(); 
     mp.setDataSource(audioArray[currentIndex + 1]); 
     mp.prepare();    
     mp.start(); 
    } 
+0

返信ありがとうございます - しかし、setDataSourceにはエラーがありますが、 "解決できません"。ループを使用すべきですか? – ThunderGrad

+0

音楽を再生するために使用するもの – vishal

関連する問題