Videoview URL не работает, но работает в WebView Android

У меня есть одна проблема Видео MP4 URL работа в WebView, но я взял VideoView внутри не работает всплывающее сообщение URL "Извините, этот URL не работает". В чем конкретно проблема, которую я не знаю? Вы знаете такое решение, тогда, пожалуйста, помогите мне. И поделитесь своим большим опытом. Благодарю вас!

3 ответа

Это как-то связано с вашей ссылкой и контентом. Попробуйте следующие две ссылки: String path="http://www.ted.com/talks/download/video/8584/talk/761"; String path1="http://commonsware.com/misc/test2.3gp";

Uri uri=Uri.parse(path1);

VideoView video=(VideoView)findViewById(R.id.VideoView01);
video.setVideoURI(uri);
video.start();

Начните с "path1", это небольшой легкий поток видео, а затем попробуйте "path", это более высокое разрешение, чем "path1", идеальное высокое разрешение для мобильного телефона.

Похоже, работают только безопасные URL (developers.google.com/training/images/tacoma_narrows.mp4 использует HTTPS в то время как "kuiber.com/images/stories/1557736976-9002.mp4 использовать HTTP)

Согласно документам

Начиная с Android 9 (уровень API 28), поддержка открытого текста по умолчанию отключена.

Поэтому вы должны установить свойство android:usesCleartextTraffic в true

android:usesCleartextTraffic

Указывает, намерено ли приложение использовать сетевой трафик в виде открытого текста, например HTTP в виде открытого текста. Значением по умолчанию для приложений с целевым уровнем API 27 или ниже является "true". Приложения с таргетингом на уровень API 28 или выше по умолчанию имеют значение "false"

Чтобы решить проблему, используйте android:usesCleartextTraffic="true" внутри application tag в вашем манифесте

<application
     ...
     android:usesCleartextTraffic="true"
     ...>
     ...
</application>

Это как-то связано с вашей ссылкой и контентом. Попробуйте следующие две ссылки:

      String path="http://www.ted.com/talks/download/video/8584/talk/761"; 
String path1="http://commonsware.com/misc/test2.3gp";

Uri uri=Uri.parse(path1);

VideoView video=(VideoView)findViewById(R.id.VideoView01);
video.setVideoURI(uri);
video.start();

Начните с , это небольшой легкий видеопоток, а затем попробуйте path, это более высокое разрешение, чем path1, идеальное высокое разрешение для мобильного телефона.

Другие вопросы по тегам