W mojej aplikacji muszę udostępnić użytkownikowi podgląd pobierania progresywnego (plik wideo).VideoView i pobieranie progresywne
Aby to osiągnąć, używam komponentu VideoView
, aby wyświetlić zawartość pobieranego pliku wideo (.mp4, .3gpp).
Problem polega na tym, że nie mogę uzyskać dostępu do zdalnego nośnika poprzez protokół http://
lub rtsp://
, więc jestem zmuszony użyć VideoView.setVideoPath
do odtwarzania lokalnej kopii wideo podczas pobierania.
Niestety wydaje się, że na urządzeniach z Androidem, które nie mogą korzystać StageFright
ramy (tak OpenCore
i kilka Tegra2-based
urządzeń w moim doświadczeniu), to VideoView
nie może poprawnie obsługiwać progresywnego pobierania: może grać tylko część filmu uznanego podczas inicjowania komponentu.
Aby było jasne: jeśli użytkownik naciśnie "Odtwórz", gdy tylko 5% wideo zostanie pobrane, VideoView wyświetli tylko 5% wideo, bez względu na to, czy w międzyczasie pobrano więcej materiałów wideo.
Z mojego doświadczenia wynika, że ten problem nie dotyczy urządzeń korzystających ze zrębu StageFright
(np .: Nexus One 2.2, Nexus One 2.3.4).
Czy ktoś może wskazać mi możliwe rozwiązanie? Z góry dzięki
Witam, czy znaleźć sposób, aby naprawić ten błąd? Miałem ten sam błąd. I właśnie teraz utknąłem. –
W końcu dowiadujemy się, że powodem jest rozwiązanie. [Tutaj] (http://stackoverflow.com/questions/19587880/sorry-this-video-is-not-valid-for-streaming-to-this-device-in-http-streaming-an) Dzięki, –