Czy istnieje sposób na zmianę domyślnego rozmiaru bufora na przesyłanie strumieniowe MediaPlayer
?zmiana rozmiaru bufora w MediaPlayer
Odpowiedz
Rozmiar bufora jest wypalany w oprogramowaniu. Wszystko, co możesz zrobić, to utrzymywać zakładki na temat ilości bufora, a nawet to tylko procentowo.
Przepraszamy!
Problem pojawia się podczas przesyłania strumieniowego treści na żywo, na przykład: internetowe radio internetowe. Jako treść na żywo nie mogę niczego obliczyć, ponieważ długość ścieżki jest nieskończona i metody onBuffering w MediaPlayer nigdy nie są wywoływane.
Moim zamiarem jest ustawienie bufora w zależności od współczynnika przepływności, aby zoptymalizować zasoby i zwiększyć je, aby zapobiec rozłączeniom sieci 3G. Cóż, tak naprawdę nie mogę zapobiec rozłączeniom sieci 3G, ale chcę powiedzieć, że mogę zrobić to połączenie dłużej, aby transmisja była bardziej żywa dla użytkownika końcowego.
Więc myślę, że mogę kodować proxy Java, aby połączyć się z treścią na żywo i ustawić mój własny rozmiar bufora w zależności od szybkości transmisji bitów, a następnie przekazać ten serwer proxy jako adres URL w MediaPlayer i odtwarzać zawartość.
Ale zanim zacznę to kodować, chcę wiedzieć, czy istnieje inna metoda lub inna lepsza sztuczka, którą mogę zastosować do MediaPlayera, aby rozwiązać ten problem.
Cześć josh, jak rozwiązałeś problem, czy korzystałeś z proxy strumieniowego? – burakk
To może nie być w pełni dopasowane do konkretnego problemu, ale może ktoś inny będzie wspomagany przez to:
Muszę tylko wiedzieć, jak duży bufor jest. Domyślam się, że jest to stała ilość bajtów, zamiast ustalonej ilości czasu odtwarzania.
Aby uzyskać szacunkową wielkość bufora audio/wideo, można zaimplementować OnBufferingUpdateListener, aby wykryć, kiedy bufor jest całkowicie wypełniony, i użyć TrafficStats, aby określić, ile bajtów zużyło medium strumieniowe między uruchomieniem strumienia a buforem wyczerpanie. Powinno to być wskaźnikiem wielkości bufora MediaPlayer wykorzystuje ...
Czy to nie jest smutne, że musimy uciekać się do tego śmiecia, aby wykonać podstawowe zadania? – StackOverflowed
dobra rada, dzięki. upvote – sandalone
wielkość mieści się w ramami/zasada/nośnik/libstagefright/to/NuCachedSource2.h
kDefaultHighWaterThreshold i kDefaultLowWaterThreshold wzrosły między Androidzie 2.3.7 i Android 4.0.4 rozmiar bufora wzrósł o współczynnik 8, jak zaznaczono w tym wątku Android - MediaPlayer Buffer Size in ICS 4.0
Będziesz potrzebować niestandardowy ROM.
Android 2.3.7
enum {
kPageSize = 65536,
kHighWaterThreshold = 5 * 1024 * 1024,
kLowWaterThreshold = 512 * 1024,
// Read data after a 15 sec timeout whether we're actively
// fetching or not.
kKeepAliveIntervalUs = 15000000,
};
Android 4.0.4
enum {
kPageSize = 65536,
kDefaultHighWaterThreshold = 20 * 1024 * 1024,
kDefaultLowWaterThreshold = 4 * 1024 * 1024,
// Read data after a 15 sec timeout whether we're actively
// fetching or not.
kDefaultKeepAliveIntervalUs = 15000000,
};
Jeśli przeszkadza ten problem, to może jesteś zainteresowany w naszym raporcie https://code.google.com/p/android/issues/detail?id=29870
- 1. zmiana słuchacz Państwowa MediaPlayer
- 2. Przepełnienie bufora rozmiaru DBMS_output
- 3. Zmiana wielkości bufora w trybie wieloprocesowym.Queue
- 4. boost :: asio :: buffer: pobieranie rozmiaru bufora i zapobieganie przepełnieniu bufora?
- 5. Zmiana rozmiaru widoku w OnLayoutChangeListener
- 6. Zmiana rozmiaru obrazów w katalogu
- 7. Zmiana rozmiaru rozwijanym w jedności
- 8. Zmiana rozmiaru obrazów w VB.NET
- 9. Zmiana rozmiaru obrazu w pythoniu
- 10. Zmiana rozmiaru kontrolek w MFC
- 11. Zmiana rozmiaru obrazu w R
- 12. Zmiana rozmiaru okna w pionie
- 13. Zmiana rozmiaru wektorowego STL
- 14. Zmiana rozmiaru UITableView programowo
- 15. IFrame Zmiana rozmiaru obrazu
- 16. Zmiana rozmiaru palnika Tensor
- 17. Zmiana rozmiaru tablicy 3D
- 18. Zmiana rozmiaru okna Windrooka
- 19. Zmiana rozmiaru kontrolek DevExpress
- 20. ProgressDialog: zmiana rozmiaru tekstu
- 21. Zmiana rozmiaru szablonu GLKView
- 22. Picasso - zmiana rozmiaru zastępczy
- 23. Zmiana rozmiaru tablicy
- 24. Zmiana rozmiaru słowa JTextArea
- 25. zmiana rozmiaru czcionki tekstu
- 26. Zmiana rozmiaru mapy bitowej
- 27. Obliczanie wymaganego rozmiaru bufora dla metody WriteableBitmap.WritePixels
- 28. Zmiana rozmiaru (zmniejszenie rozmiaru) Obraz YUV420sp
- 29. PHP HTML Tidy: limit rozmiaru do bufora
- 30. Animowanie CAShapeLayer zmiana rozmiaru
Nie bardzo/tylko. Jak widziałem w Googles Code, istnieje metoda 'public booleansetParameter (int key, int value)', która pozwala to zrobić, jeśli znasz wartość klucza (mam je dla urządzeń RK).Niestety nie mogę znaleźć sposobu na wywołanie tej metody (choć jest to publiczne), ale znajdę to, musi być jakiś sposób, aby to zrobić! – bluewhile
@bluewhile znalazłeś sposób, aby to zrobić? – w2lame
Nie skończyłem płakać, ponieważ straciłem kilka dużych transakcji właśnie z powodu ignorancji Googles. – bluewhile