2012-04-24 3 views
1

MediaPlayerprepareAsync() 기능을 사용하고 있습니다.안드로이드의 MediaPlayer prepareAsync() 시간 초과?

try { 
    mediaPlayer.setDataSource(stream_url); 
    mediaPlayer.prepareAsync(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

mediaPlayer.setOnPreparedListener(new OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
    } 
});  

문제는 때때로 stream_url 음악을 연주하고 있다는 것이다, 때로는 stream_url 음악이 재생되지 않는 : 같은

내 코드 보인다. stream_url에서 음악을 재생하지 않으면 어떻게 사용자에게 알릴 수 있습니까? 어떤 종류의 타임 아웃이나 내가 잡을 수있는 오류가 있습니까? 아무 것도 현재 던져지고 있지 않습니다. 단지 스트림이 없다면 asycn을 호출하고 아무것도하지 않습니다.

+0

왜 mp.isPlaying()을 사용하지 않으시겠습니까? – marienke

답변

2

설명서를 살펴보면 청취자가 사용할 수있는 설정기를 사용할 수 있으며 비동기 작업에서 오류를 확인할 수있는 설정 도구가 있습니다. 비동기 작업 중에 오류가 있음을 때 콜백의

MediaPlayer.OnErrorListener 

인터페이스 정의를 호출 할 (다른 오류는 메서드 호출시 예외를 throw합니다).