2012-04-27 7 views
9

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

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

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

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

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

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

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

+0

Я понимаю, что этот вопрос лет, но если кто-то должен был наткнуться на него сейчас: какие версии iOS установлены на этих устройствах? Есть проблемы с Vimeo на iOS 9. – Richard

+0

На момент написания этого вопроса приложения использовали iOS5 – Jason

ответ

1

Реализуйте метод делегата: shouldStartLoadWithRequest то в том, что метод просто обнаружить, что ли запрашиваемый URL имеет тип ВИДЕО если после этого пожалуйста, следуйте код, указанный в ссылке ниже, который работал для меня:

Playing a video file from server in an Iphone app

Это будет хорошо играть любое видео.

1

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

Luckly, вам разрешено переопределить агента пользователя приложения с помощью следующей (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); 

Это делает видео играть просто отлично.

+0

Спасибо за ответ, к сожалению, у меня нет времени, чтобы проверить это самостоятельно прямо сейчас, но если кто-нибудь еще может прокомментировать это правильное решение. Я буду отмечать ваш ответ как правильный. – Jason

Смежные вопросы