Youtube
, возможно, что-то изменило на их встроенной странице, и, скорее всего, это вызывает проблемы внутри WebView
, и поэтому он больше не работает.
Также вы тестируете свое приложение на том же устройстве, что и раньше?
Я не думаю, что это хорошее решение использовать это решение, поскольку вы не можете полагаться на то, что контент, который вы отображаете сегодня с Youtube
, и он работает, также будет таким же через несколько дней, и он будет все еще работает, как вы только что столкнулись. У меня были похожие проблемы с контентом videos
и Youtube
, он работал бы на одном устройстве, а на других - вообще не работал. Это также контент Flash
, и многие устройства Android не имеют Flash
и не смогут воспроизводить контент.
Решением было бы создать Intent
для воспроизведения видео:
Intent videoIntent=new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.youtube.com/my_url"));
startActivity(videoIntent);
Но я бы порекомендовал кодировать видео для Android
, как указано в Поддерживаемые форматы мультимедиа , и сохранять их на своем собственном сервере, если у вас есть такая возможность.
РЕДАКТИРОВАТЬ: Они определенно что-то изменили, так как там есть ошибка JS. Вы можете отслеживать их, используя WebChromeClient
:
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onConsoleMessage(String message, int lineNumber,
String sourceID) {
super.onConsoleMessage(message, lineNumber, sourceID);
Log.i("VIDEO VIEW",message);
}
}
Это сообщение об ошибке, которое я получил:
TypeError: Result of expression 'a' [undefined] is not an object.line 78sourcehttp://www.youtube.com/embed/e2UIg3Ddfp0
Я не знаю, поможет ли это вам, позже я еще посмотрю и посмотрю, что я смогу найти.