Извините, это видео не может быть воспроизведено - потоковая передача mp4 на Android

Я искал решение этой проблемы (включая SO) повсюду, но до сих пор не нашел решения.

Мне нужно, чтобы в моем приложении было простое воспроизведение видео. Это немного менее просто, чем простое окно с видео. Проще говоря, у меня есть два макета на моем экране, один содержит некоторые другие вещи, а другой - видеоокно. Также есть кнопка для переключения между ними. Все это работает нормально, после того, как я понял, что видеовизуальный просмотр не может присутствовать в представлении с отсутствующей видимостью - поэтому я добавляю / удаляю его в / из макета контейнера, когда это необходимо.

Однако у меня проблема с фактическим воспроизведением видео. Когда я пытаюсь активировать его, я получаю ужасную ошибку Извините, это видео не может быть воспроизведено. Один из вопросов здесь, на SO, обсуждает форматы видео ( Android - не может воспроизводить видео (mp4 / mov / 3gp / etc.)? ) - однако у меня уже есть то, что кажется правильным, с шириной 320 пикселей и всем остальным. В одном из ответов в этой ветке упоминается, что видео с здесь "определенно работают". Я попробовал пару оттуда - но у меня появился еще один обычный зверь: Извините, это видео не подходит для потоковой передачи на это устройство.

Обратите внимание, что я тестирую на реальном устройстве, так как воспроизведение видео не работает в эмуляторе. Также обратите внимание, что решение должно работать на Android 1.6 и выше (требование клиента). Я тестирую устройство LG GT540 Optimus с Android 2.1 (в настоящее время у меня нет других доступных устройств).

Из того, что я понял, если я не использую qt-faststart в видео, я получаю сообщение об ошибке Извините, это видео не подходит для потоковой передачи на это устройство. Если я использую qt-faststart , то получаю Извините, это видео не может быть воспроизведено.

Вот мой код для воспроизведения:

VideoViewer videoPlayer = new VideoViewer(this);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoPlayer);
videoPlayer.setMediaController(mediaController);
videoPlayer.setVideoURI(Uri.parse(object.getVideoURL()));
LinearLayout container = (LinearLayout)ObjectInfo.this.findViewById(R.id.VideoContainer);
container.setVisibility(VISIBLE);
container.addView(videoPlayer, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
videoPlayer.requestFocus();
videoPlayer.start();

Теперь видео, которое я пытаюсь воспроизвести, должно быть прогрессивно загружено с HTTP: object.getVideoURL () возвращает http: / /www.ooklnet.com/files/381/381489/video.mp4

Может ли кто-нибудь помочь мне разобраться в этом? Это последнее, что мне нужно сделать, прежде чем все приложение будет готово.

Большое спасибо!

Редактировать: Я пробовал использовать MediaPlayer - но получил еще худшие результаты, чем с VideoView, поэтому вернулся к VideoView. Теперь в симуляторе я получаю черный экран с наведенными на него элементами управления, и звук видео воспроизводится нормально, также прогресс корректируется по мере продолжения воспроизведения.Однако на моем реальном устройстве я все еще получаю К сожалению, это видео не может быть воспроизведено. ошибка

8
задан Community 23 May 2017 в 11:45
поделиться