Android - 3gp файл Youtube не найден

1

Я пытаюсь воспроизвести видео на YouTube в приложении для Android, но я не могу получить URL-адрес 3gp, который вернул меня из Youtube Api. Я попытался открыть его также в проигрывателе VLC и проигрывателе QuickTime, но ответ всегда заключается в том, что плеер не может получать данные. Вот журнал VLC Player:

основной отладочный rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' successfully opened live555 warning: no data received in 10s. Switching to TCP avcodec debug: ffmpeg codec (H263) stopped main debug: removing module "avcodec" main debug: killing decoder fourcc: rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' successfully opened live555 warning: no data received in 10s. Switching to TCP avcodec debug: ffmpeg codec (H263) stopped main debug: removing module "avcodec" main debug: killing decoder fourcc rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' successfully opened live555 warning: no data received in 10s. Switching to TCP avcodec debug: ffmpeg codec (H263) stopped main debug: removing module "avcodec" main debug: killing decoder fourcc h263 ', 0 PES в FIFO avcodec debug: ffmpeg codec (узкая полоса AMR) остановлена главная отладка: удаление модуля " avcodec "основной отладчик: kill decoder fourcc samr', 0 PES in FIFO main debug: Program doesn't contain anymore ES live555 debug: RTP subsession 'video/H263-2000' main debug: looking for decoder module: 32 candidates avcodec debug: libavcodec already initialized avcodec debug: trying to use direct rendering avcodec debug: ffmpeg codec (H263) started main debug: using decoder module "avcodec" main debug: TIMER module_need(): 0.758 ms - Total 0.758 ms/1 intvls (Avg 0.758 ms) main debug: thread (decoder) created at priority 0 (../../src/input/decoder.c:301) main debug: thread started live555 debug: RTP subsession 'audio/AMR' main debug: looking for decoder module: 32 candidates avcodec debug: libavcodec already initialized avcodec debug: ffmpeg codec (AMR narrow band) started avcodec debug: Using 192000 bytes output buffer main debug: using decoder module "avcodec" main debug: TIMER module_need(): 391.931 ms - Total 391.931 ms/1 intvls (Avg 391.931 ms) main debug: thread (decoder) created at priority 22 (../../src/input/decoder.c:301) main debug: thread started live555 debug: setup start: 0.000000 stop:28.666000 live555 debug: play start: 0.000000 stop:28.666000 live555 error: no data received in 10s, aborting main debug: EOF reached main debug: finished input avcodec debug: ffmpeg codec (H263) stopped main debug: removing module "avcodec" main debug: killing decoder fourcc samr', 0 PES in FIFO main debug: Program doesn't contain anymore ES live555 debug: RTP subsession 'video/H263-2000' main debug: looking for decoder module: 32 candidates avcodec debug: libavcodec already initialized avcodec debug: trying to use direct rendering avcodec debug: ffmpeg codec (H263) started main debug: using decoder module "avcodec" main debug: TIMER module_need(): 0.758 ms - Total 0.758 ms/1 intvls (Avg 0.758 ms) main debug: thread (decoder) created at priority 0 (../../src/input/decoder.c:301) main debug: thread started live555 debug: RTP subsession 'audio/AMR' main debug: looking for decoder module: 32 candidates avcodec debug: libavcodec already initialized avcodec debug: ffmpeg codec (AMR narrow band) started avcodec debug: Using 192000 bytes output buffer main debug: using decoder module "avcodec" main debug: TIMER module_need(): 391.931 ms - Total 391.931 ms/1 intvls (Avg 391.931 ms) main debug: thread (decoder) created at priority 22 (../../src/input/decoder.c:301) main debug: thread started live555 debug: setup start: 0.000000 stop:28.666000 live555 debug: play start: 0.000000 stop:28.666000 live555 error: no data received in 10s, aborting main debug: EOF reached main debug: finished input avcodec debug: ffmpeg codec (H263) stopped main debug: removing module "avcodec" main debug: killing decoder fourcc h263 ', 0 PES в FIFO avcodec debug: ffmpeg кодек (узкая полоса AMR) остановил основную отладку: удаление модуля "avcodec" главная отладка: дешифратор убийства fourcc "samr", 0 PES в основной отладочной версии FIFO: удаление основного модуля "live555": программа больше не содержит основной отладки ES: отладка с завершением потока: отложенный основной отладочный вход: изменение элемента без запроса (текущий 0/1) main debug: нечего отлаживать macosx: вход остановлен, обновляется основной отладочный интерфейс: запуск запуска TIMER для 'rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp': 449.262 мс - всего 449,262 мс /1 инт. (Avg 449,262 мс)

И это журнал Android:

05-18 14: 51: 42.008: D/MediaPlayer (2152): Не удалось открыть файл на стороне клиента, попробуйте серверную часть 05-18 14: 51: 42.258: D/MediaPlayer (2152): getMetadata 05-18 14: 51: 53.823: E/MediaPlayer (2152): ошибка (1, -2147483648) 05-18 14: 51: 53.823: E/MediaPlayer (2152): ошибка (1, -2147483648) 05-18 14:51: 53.823: D/VideoView (2152): Ошибка: 1, -2147483648 05-18 14: 51: 54.060: D/AndroidRuntime (2152): выключение VM 05-18 14: 51: 54.060: W/dalvikvm (2152): threadid = 1: выход с отключенным исключением (группа = 0x409c01f8) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): FATAL EXCEPTION: main 05-18 14: 51: 54.088: E/AndroidRuntime (2152): android.view.WindowManager $ BadTokenException: невозможно добавить окно-токен android.app.LocalActivityManager$LocalActivityRecord@418c8408 недействительно; работает ли ваша деятельность? 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.view.ViewRootImpl.setView(ViewRootImpl.java:513) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): на android. view.WindowManagerImpl.addView(WindowManagerImpl.java:301) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215) 05-18 14:51: 54.088: E/AndroidRuntime (2152): at android.view.WindowManagerImpl $ CompatModeWrapper.addView(WindowManagerImpl.java:140) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.view.Window $ LocalWindowManager.addView(Window.java:537) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.app.Dialog.show(Dialog.java:278) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.app.AlertDialog $ Builder.show(AlertDialog.java:932) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): на android.widget.VideoView $ 4.onError(VideoView.java: 382) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.media.MediaPlayer $ EventHandler.handleMessage(MediaPlayer.java:1553) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.os.Handler.dispatchMessage(Handler.java:99) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): на android.os.Looper.loop(Looper.java:137) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at android.app.ActivityThread.main(ActivityThread.java:4424) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at java.lang.reflect.Method.invokeNative (собственный метод) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at java.lang.reflect.Method.invoke(Method.java: 511) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 05-18 14: 51: 54.088: E/AndroidRuntime (2152): at dalvik.system.NativeStart.main( Нативный метод)

И мой класс VideoActivity для воспроизведения видео:



    public class VideoActivity extends Activity{

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.video);

            VideoView videoView = new VideoView(this);
            String urlRtsp = "rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";
            videoView.setVideoURI(Uri.parse(urlRtsp));
            videoView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));

            videoView.setMediaController(new MediaController(this));
            videoView.requestFocus();
            videoView.start();
            LinearLayout main = (LinearLayout) findViewById(R.id.video_layout);
            main.addView(videoView);        
       }


    }


То, что я пытаюсь понять, это проблема Youtube или если что-то не так в моем коде. Я пробовал со многими видеороликами, один в коде - это только моя последняя попытка. Я использую Android SDK версии 15.

  • 0
    Вы не можете загрузить видео с YouTube в режиме просмотра Android. Но вы можете использовать веб-просмотр, загрузить код для вставки соответствующего видео URL
  • 0
    Ссылка также не воспроизводится с настольной версии VLC. Вы можете взглянуть на Android-YouTube-плеер для деятельности, которая воспроизводит видео Youtube, и это с открытым исходным кодом.
Показать ещё 4 комментария
Теги:
youtube-api
android-video-player

1 ответ

0
Лучший ответ

Проводя его в качестве ответа, поскольку ОП решила его, используя это предложение, чтобы оно могло помочь любому, кто ищет аналогичное решение.

Существует проект с открытым исходным кодом, который позволяет воспроизводить видеоролики YouTube из VideoView и называется android-youtube-player. Существует также пример Activity который позволяет тестировать компонент.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню