2012-03-02 5 views
1

스트리밍 오디오를 시작하면 ... 재생을 시작하고 버퍼가 진행되지만 갑자기 중지됩니다. 노래가 버퍼를 따라 잡으면 음악이 멈 춥니 다. 다음을 누르면 둥지 곡이 나오지만 같은 일이 일어납니다. 어떤 생각?오디오가 잠시 후 스트리밍을 중지합니다

private void startPlay(String file, String name) 
    { 
     Log.i("Selected: ", file); 

     tv_selelctedFile.setText(name); 

     //progressControlSeekbar.setProgress(0); 

     int maxVolume = mediaPlayer.getDuration(); 
     int curVolume = mediaPlayer.getCurrentPosition(); 

     progressControlSeekbar.setMax(maxVolume); 
     progressControlSeekbar.setProgress(curVolume); 
     progressControlSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 

      public void onStopTrackingTouch(SeekBar seekBar) 
      { 
       isMoveingSeekBar = false; 
      } 
      public void onStartTrackingTouch(SeekBar seekBar) 
      { 
       isMoveingSeekBar = true; 
      } 
      public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) 
      { 
       if(isMoveingSeekBar) 
       { 
        mediaPlayer.seekTo(progress); 
        Log.i("OnSeekBarChangeListener","onProgressChanged"); 
       } 
      } 
     });  

     mediaPlayer.stop(); 
     mediaPlayer.reset(); 

     try { 
      mediaPlayer.setDataSource(file); 
      mediaPlayer.prepare(); 
      mediaPlayer.start(); 
     } catch (IllegalArgumentException e) { 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     progressControlSeekbar.setMax(mediaPlayer.getDuration()); 
     playButton.setImageResource(android.R.drawable.ic_media_pause); 

     updatePosition(); 

     isStarted = true; 
    } 

답변

0

당신은 리스너를 사용한다하고 대신 직접

mediaPlayer.prepare();//use preapareAsync() 
mediaPlayer.start(); // dont call it here. 

호출하여 MediaPlayer를의 OnPreparedListener()onPrepared()에서 그 문제가 해결되지 않는 경우 mediaplayer.start()

을 사용하여 호출 시도 할 수 있습니다 무엇 onCompleteonError()과 같이 미디어 플레이어의 모든 리스너를 구현하고 갑자기 미디어 플레이어가 재생을 멈출 때 어느 것이 호출되는지 확인하십시오

희망이 있습니다.

관련 문제