현재 기본 음악 플레이어에 URL을 지정하려면 FFmpegMediaPlayer로 작업하고 있습니다. 나는 일할 수있는 기본적인 기능을 가지고있다. 오류가 발생하면 오류 메시지가 표시되고, 그렇지 않으면 노래가 재생됩니다. 내가 직면 한 문제는 일단 플레이어가 시작되면 Wi-Fi 및 전화 데이터를 끄고 소리가 멈추는 것입니다. Wi-Fi 또는 전화 데이터를 다시 전송하면 플레이어가 계속 진행되지만 간단하게 중지됩니다. 나는 멈추어 서 그것을 계속 연주해야한다.FFmpegMediaPlayer가 네트워크를 껐다 켰을 때 멈 춥니 다.
FFmpegMediaPlayer가 스트리밍을 계속할 수있는 방법이 있습니까?
이것은 내가 선수 초기화하는 무슨 :
mMediaPlayer = new FFmpegMediaPlayer();
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnSeekCompleteListener(this);
try {
Uri uri = Uri.parse(radio_url);
mMediaPlayer.setDataSource(mMainActivity, uri);
mMediaPlayer.prepareAsync();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
가 그럼 난 재생/정지 버튼을 클릭했을 때 처리하는 기능을 가지고 :
@Override
public void onPlayButtonClicked(Button button) {
if (radioInitialized) {
mAnalytics.onStopButtonClicked();
mMainLayout.loading(false);
mMediaPlayer.pause();
button.setBackground(mMainActivity.getResources().getDrawable(R.drawable.play_button));
radioInitialized = false;
} else {
mAnalytics.onPlayButtonClicked();
mMainLayout.loading(true);
initRadio();
button.setBackground(mMainActivity.getResources().getDrawable(R.drawable.stop_button));
radioInitialized = true;
}
}
을 다시를 기본 기능이 작동, 하지만 Wi-Fi가 다시 켜진 후에 스트리밍을 계속하고 싶습니다.