Android Mediaplayer выдает ошибку при воспроизведении видео YouTube с просмотром видео - PullRequest
1 голос
/ 03 февраля 2011

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

String urlVideo = "http://www.youtube.com/cp/vjVQa1PpcFPLrLo9hkR90zKx_XHP5kMNaNb-_bE3v0s=";
    VideoView video = (VideoView) findViewById(R.id.videoView1);
    Log.d("You", urlVideo);
    video.setVideoURI(Uri.parse(urlVideo));
    MediaController mc = new MediaController(this);
    video.setMediaController(mc);
    video.requestFocus();
    video.start();
    mc.show();

Выдает ошибку и не может запустить видео

Вот сообщение logcat

 ERROR/MediaPlayer(1765): error (1, -2147483648)

ОШИБКА / MediaPlayer (1765): ошибка (1, -2147483648) DEBUG / VideoView (1765): ошибка: 1, -2147483648

  1. Симулятор и целевая ОС - 2.2.
  2. Это проверено на симуляторе.

Может ли этот код правильно работать на устройстве ??Можете ли вы объяснить код ошибки и причину ошибки ??

Редактировать : Ну, спасибо всем за ваши предложения.На самом деле мое приложение должно воспроизводить видео в своем собственном дизайне, и по вашим предложениям и некоторым другим постам, которые я видел в Интернете, можно сделать вывод, что его нельзя воспроизводить так, как я хочу, и мне нужно открыть его в Интернете.Посмотреть.Спасибо ...

1 Ответ

5 голосов
/ 04 февраля 2011

Точный код ошибки MEDIA_ERROR_UNKNOWN (Неизвестная ошибка ... очень полезна здесь).

Причиной сбоя является то, что используемая вами ссылка ведет непосредственно к Flash-видео.Flash не поддерживается в VideoView, поскольку Дайанна так кратко помещает в эту публикацию ...

Лучший способ показать вам, что видео, вероятно, упаковано в Intent и позволяетВоспроизвести его можно либо в браузере, либо в приложении YouTube.Если у пользователя есть другое приложение с поддержкой Flash, такое как Skyfire, оно также должно отображаться в списке.Однако это обычно работает только со ссылкой для просмотра видео, поэтому http://www.youtube.com/watch?v=fX_wt7cPCU4 в вашем случае.

String videoUrl = "http://www.youtube.com/watch?v=fX_wt7cPCU4";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(videoUrl));
startActivity(Intent.createChooser(intent, "Play Video Using");

На устройстве с установленным приложением YouTube это будет появляться в качестве опции,хотя не все видео YouTube могут по какой-то причине воспроизводиться в мобильном приложении.

Надеюсь, это поможет!

...