Видео Vimeo не воспроизводятся на iPad UIWebView

Хорошо, я рассмотрел большинство других проблем, с которыми люди сталкиваются с vimeo, и не думаю, что они столкнулись с той же проблемой, что и я.

Когда я открываю видео vimeo в приложении Safari на своем iPhone и iPad, они оба работают нормально, без проблем.

Теперь я создал приложение для iPhone, которое имеет UIWebView и загружает видео с проигрывателя vimeo, и оно тоже отлично работает.

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

Однако теперь то, что я сделал после этого, - это создание базового приложения, которое загружает URL-адрес проигрывателя vimeo в UIWebView как собственное приложение для iPad, а не приложение для iPhone с измененным размером или «2x», чтобы соответствовать iPad. Удивительно, но это сработало.

Итак, теперь я сбит с толку ... почему iPad не будет воспроизводить видео vimeo, если на нем не запущено приложение, разработанное для iPad? Есть ли какая-то особая магия за кулисами, которая могла бы это сломать?

Я здесь в недоумении, любая помощь будет оценена по достоинству


person Jason    schedule 27.04.2012    source источник
comment
Я понимаю, что этому вопросу много лет, но если кто-то сейчас наткнется на него: какие версии iOS установлены на этих устройствах? Есть проблемы с Vimeo на iOS 9.   -  person Richard    schedule 22.09.2015
comment
На момент написания этого вопроса приложения использовали iOS5   -  person Jason    schedule 08.10.2015


Ответы (2)


Реализуйте метод делегата: shouldStartLoadWithRequest, затем в этом методе просто определите, имеет ли запрошенный URL-адрес типа VIDEO, если это так, следуйте коду, приведенному в ссылке ниже, который работал для меня :

Воспроизведение видеофайла с сервера в приложении для Iphone

Это будет хорошо при воспроизведении любого видео.

person DShah    schedule 11.05.2012

Проблема, вероятно, связана с пользовательским агентом, который отличается от агента Safari на устройствах Apple: UIWebView отправляет некоторую недопустимую строку, вызывающую сбой Vimeo (а иногда и YouTube).

К счастью, вам разрешено переопределить пользовательский агент приложения, используя следующее (C #, дайте мне знать, если он недостаточно чистый):

NSDictionary dictionary = NSDictionary.FromObjectAndKey(new NSString("Mozilla/5.0 (" + (UIDevice.CurrentDevice.Model.Contains("iPad") ? "iPad" : "iPhone" ) +  "; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"), new NSString("UserAgent"));
NSUserDefaults.StandardUserDefaults.RegisterDefaults(dictionary);

Благодаря этому видео воспроизводятся нормально.

person Anton    schedule 19.09.2013
comment
Спасибо за ответ, к сожалению, у меня нет времени, чтобы проверить это сам прямо сейчас, но если кто-то еще может прокомментировать это решение, я отмечу ваш ответ как правильный. - person Jason; 20.09.2013