에서 시작되지 않습니다MediaPlayer를 안드로이드 스트림 라디오를 즉시하지 시작하거나이 코드 사용하는 모든
mediaPlayer.setDataSource("http://some online radio");
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
및 onPrepared
방법은 다음과 같습니다 일반적으로
if (mediaPlayer != null) {
mediaPlayer.start();
}
을,이 문제는 다음과 같습니다 그럼 실행 이 코드는 재생이 바로 시작되지 않지만 약 10 초 후에 시작됩니다. + 일부 스트림은 전혀 시작되지 않지만 에뮬레이터에서는 장치보다 조금 더 효과적이지만 작동합니다. 그것은 콘크리트 라디오에 달렸고, 어떤 것은 더 좋았고, 다른 것은 매우 나빴습니다.
나는 그 문제가 준비와 완충에 있다고 가정한다. 이 스트림에서 InputStream
을 만들고 임시 파일/버퍼에 쓰고이 파일을 MediaPlayer
에서 읽고 재생할 수는 있지만 구현 방법은 아직 명확하지 않습니다. 도와주세요
다만 다음 mp.start
mp.prepare
을 수행하고 - 결과는 크롬의 PC에 동일한
이며, 모든 라디오는 내가 당신을 감사합니다, 내 영어에 대한
죄송 재생을 시작 즉시 사용하려한다는 스트리밍합니다.
답장을 보내 주셔서 감사합니다. 그 슬픈. completionListener를 사용하여 임시 mp3 파일의 큐를로드하고 재생하는 방법에 대해 어떻게 생각하십니까? 그러나 모든 파일을 하나의 크기 (예 : 512kb)로 만드는 방법은 무엇입니까? read (byte [])는 0에서 전체 bute 배열 크기까지 읽을 수 있지만 0 크기의 파일은 원하지 않습니다. –
MP3를 사용하면이 문제를 해결할 수 있는지 확실하지 않습니다. 시도해 볼 수 있습니다. 난 정말 "하나의 크기"에 대한 귀하의 질문을 이해하지 못합니다 ... 또한, [내가 연결 한 위의 대답] (http://stackoverflow.com/a/30494887/3454741) FFmpegMediaPlayer를 사용하는 것이 좋습니다 더 잘 행동하는 것 같습니다. –
그것은 일하기에 아주 가깝습니다. 에뮬레이터에서 FFmpegMP는 정상적으로 작동하지만 치명적인 오류를 일으키는 제 xiaomi 메소드 중지시 ... –