2010-06-08 3 views
7

У меня есть приложение, которое работает с версии 2.0 SDK, где я создаю и добавляю UIWebView, а затем загружаю URL-адрес .mov для воспроизведения фильма. Начиная с ранней версии 4.0 бета до 4.0 GM это перестало работать. Когда я загружаю фильм теперь я получаю следующее сообщение об ошибке:: Plug-в перекачиваемой нагрузки»и фильм не показываетВоспроизведение видео в UIWebView, поврежденном в iOS4?

Это известная проблема, я делаю что-то неправильно в 4.0

+0

Любой, у кого есть эта проблема: Это недокументированная ошибка, которая нарушает существующие приложения. Ниже приведено обходное решение, но, пожалуйста, также [укажите отчет об ошибке] (https://bugreport.apple.com/), чтобы увеличить вероятность того, что Apple его исправит. – cduhn

ответ

4

я понял это.? Это, по-видимому, проблема с iOS4, которая не поддерживает обратную совместимость с UIWebView, созданным с помощью «init», а не «initWithFrame». В версии 2.0 - 3.1.3 вы можете показывать видео в режиме UIWebview в полноэкранном режиме. поэтому не имеет значения, если вы вызвали «init» - игрок в кино запустил бы и выходил бы в полноэкранном режиме. Однако в 3.2 и выше вы можете теперь встроить видео в UIWebView, чтобы вы могли вызвать initWithFrame и дать ему что-то вроде [[UIScreen mainScreen]), поэтому есть видимое представление. Не совсем уверен, что это бык или нет, но, похоже, это так.

+0

Чтобы быть более точным, видео будет воспроизводиться только в том случае, если кадр UIWebView имеет ненулевую область. У меня была та же проблема с UIWebView, созданным с помощью '[[UIWebView alloc] initWithFrame: CGRectZero]'. Это особенно странно, поскольку веб-просмотр фактически не должен быть видимым. Видео будет воспроизводиться, даже если webView никогда не будет добавлен в иерархию представления, если его кадр отличен от нуля. – cduhn

+0

Это правильно. Даже если вы вызываете [[UIWebView allow] initWithFrame:CGRectMake(0,0,1,1)], видео будет отображаться просто отлично, и когда вы нажмете «Готово», UIWebView «появится», чтобы его уволили. В противном случае я не уверен, есть ли способ определить, закончилось ли видео, чтобы вы могли скрыть/удалить UIWebView. В противном случае вы увидите белый UIWebView с иконкой воспроизведения в середине. – rforte

+0

Я думал, что я был единственным с этой проблемой. Но даже с этим обходным решением это не работает для меня. Я уже делаю initWithFrame, но получаю alertView «Этот фильм нельзя воспроизвести» в 3.2 и предыдущих версиях он работает нормально. Только 4.0 не – scud

1

У меня возникла ситуация, когда «этот фильм не воспроизводится» при воспроизведении видеоклипа. Это произошло, когда был использован рекордер. И это НЕ произошло, когда игрок просто использовался.

Затем я установил категорию аудиосеанса в kAudioSessionCategory_AmbientSound после завершения записи.

Эта проблема была решена после того, как я это сделал.

0

По крайней мере, в ChildBrowser PhoneGap, метод didFailLoadWithError обрабатывает и отображает это сообщение. Просто не показывайте ошибку, проблема решена, но в этом конкретном случае есть две кнопки «done» для нажатия, прежде чем вы вернетесь в приложение.

0

Просто просто проигнорируйте его. Это не вредит.

if (![error.localizedDescription isEqualToString:@"Plug-in handled load"]) 
Смежные вопросы