2010-10-04 22 views
18

Mam problemy z uzyskaniem transmisji na żywo do pracy na Androidzie. Używam klasy MediaPlayer i właśnie ustawiam URL i odtwarzam go. Działa świetnie w większości przypadków, ale po 5-30 minutach nieuchronnie umiera. Na 2,1 komórkowych (dokładniej bohaterem) uzyskać to wyjście zalogowaćKody błędów Androida MediaPlayer?

W/MediaPlayer(7919): info/warning (1, 26) 
I/MediaPlayer(7919): Info (1,26) 
I/MediaStreamService(7919): mPlayer info code:1 extra:26 
E/MediaPlayer(7919): error (1, -11) 
E/MediaPlayer(7919): Error (1,-11) 

Gdzie jest moja MediaStreamService Serwis zawierający MediaPlayer wyjście pochodzących z OnInfoListener

na 2,2 telefonów nie dostać OnInfoListener oddzwanianie, strumień po prostu umiera. Ale ja widzę to w LogCat

E/HTTPStream(1020): recv failed, errno = 11 (Try again) 
E/HTTPDataSource(1020): retrying connection failed 

wydaje się działać bez zarzutu na moim 1.6 telefonie pomimo stałej logcat spam z

E/PlayerDriver(82): Invalid percentage value <big growing number> 

moje pytanie, co zrobić, kody błędów (1, 26) oznaczać? Co powoduje awarię mojego MediaPlayera? Czy w ogóle problem 2.1 związany jest z problemem 2.2? Dzięki, Nathan

Edit: Szukałem w kodzie źródłowym do OnInfoListener i znalazł public static final int MEDIA_INFO_UNKNOWN = 1; nie jestem pewien dokładnie, co to znaczy, i nie mogę znaleźć gdzie te dodatki są utrzymywane albo .. Każdy wgląd na do czego informacja nieznana w mediach oznacza? albo to, co oznacza to 26, byłoby bardzo docenione.

Odpowiedz

29

Moje pytanie brzmi, co oznaczają kody błędów (1, 26)?

  • 26 oznacza PVMFInfoErrorHandlingStart, tylko wskazanie błędu

Błąd jest -11, co oznacza PVMFErrTimeout. Możesz wyewidencjonować pliki definicji tutaj link text

+0

dzięki za link! – schwiz

+12

Link jest uszkodzony. Możesz go znaleźć [tutaj] (https: // github.com/android/platforma_external_opencore/blob/master/pvmi/pvmf/include/pvmf_return_codes.h) – efeyc

0

Może dane RDS? Czy ręcznie ustawiasz rozmiar bufora?

+0

Czy istnieje sposób na ustawienie rozmiaru bufora w 'MediaPlayer'? Może przeoczyłem to. – schwiz

+1

Wydaje się mieć zdarzenie do oglądania stanu buforów: http://developer.android.com/reference/android/media/MediaPlayer.html – ykatchou

0

Aby rozpocząć odtwarzanie, należy wywołać funkcję start(). Po pomyślnym rozpoczęciu() powodzenia obiekt MediaPlayer znajduje się w stanie Uruchomiony. Funkcja isPlaying() może zostać wywołana, aby sprawdzić, czy obiekt MediaPlayer znajduje się w stanie Uruchomiony.

Będąc w stanie uruchomiono wewnętrzny silnik gracz nazywa dostarczonego OnBufferingUpdateListener.onBufferingUpdate() metoda zwrotna jeśli OnBufferingUpdateListener został zarejestrowany wcześniej przez setOnBufferingUpdateListener (OnBufferingUpdateListener) użytkownika. To wywołanie zwrotne pozwala aplikacjom śledzić status buforowania podczas przesyłania strumieniowego audio/wideo.

Wywołanie funkcji start() nie ma wpływu na obiekt MediaPlayer, który jest już w stanie Uruchomiony.

Może to część odpowiedzi.

+0

OnBufferingUpdate nie jest wywoływana na 2.2 urządzeniach z tym strumieniem, ponieważ rozmiar pliku jest nieznany. (nieskończona wielkość strumienia stacji radiowej) – schwiz