2012-11-14 4 views
2

MediaPlayer을 사용하여 mp3 스트림에서 스트리밍 중입니다.mediaplayer android에서 다운로드 한 바이트 수를 계산하는 방법

데이터 소스를 설정하고 preparyAsync()을 호출하려면 onPrepared() 콜백에서 start()으로 전화하십시오.

이제 노래를 스트리밍 할 때 미디어 플레이어가 다운로드 한 바이트 수를 알고 싶습니다.

바이트 수를 추적하는 방법이 있습니까?

그 노래가 아니라 mp3 스트림이 될 것입니다.

+0

기본 네트워크 정보 얻기 – fiddler

+0

mp3의 크기를 알면,'setOnBufferingUpdateListener'를 사용하여 알아낼 수 있습니다. – iTurki

+0

버퍼링 된 수신자 만이 백분율을 제공합니다. 불운하게 그것의 아닙니다 1 개의 노래, 그것의 mp3 시내. – Anand

답변

1

재생되는 오디오의 길이에 비례하는 MediaPlayer 내의 압축되지 않은 데이터의 바이트 수가 아니라 다운로드 한 압축 된 데이터의 바이트 수를 알고 싶습니다. (예를 들어, VBR을 사용하는 경우 압축 된 데이터가 비례하지 않을 수 있습니다).

다운로드 한 압축 데이터의 바이트 수를 얻으려면 MediaPlayer에서 다운로드 한 스트림의 바이트 수를 계산해야하지만 다운로드 한 스트림에 대한 액세스 권한을 가진 유일한 방법은 MediaPlayer를 공급하는 로컬 스트 램롭스키를 구현하는 것입니다. 또는 두 번째 해결 방법은 스트림을 로컬 파일에 저장하고 MediaPlayer로이 파일을 여는 것입니다. 그러나 MediaPlayer가 로컬 파일을 잠그고 데이터를 추가 할 수 없기 때문에 이후 솔루션에는 몇 가지 제한 사항이 있습니다. 최초의 솔루션에 대한

가 공급하는 프록시를 구현하는 방법에이 솔루션을 참조 MediaPlayer를 : MediaPlayer stutters at start of mp3 playback

당신은 (setOnBufferingUpdateListener()``를 통해) 버퍼링 진행 통보 할 수 있지만 어떤 간단한 방법을 모르는
관련 문제