UIWebView перехват "установка пути фильма:" из аудио-проигрывателя JavaScript - PullRequest
4 голосов
/ 05 ноября 2010

В iOS 4 у меня есть страница, загруженная в UIWebView с аудиоплеером javascript. Я не создавал этот плеер, он принадлежит третьей стороне, поэтому я не могу с ним повозиться. Когда я нажимаю кнопку воспроизведения, я вижу распечатку NSLog, как показано ниже:

setting movie path: http://data.myaudio.com/thefile.mp3

Мой вопрос: как установить путь к фильму и как его перехватить? Звук будет воспроизводиться до тех пор, пока я не создам другой UIWebView или не воспользуюсь встроенными элементами управления звуком, доступными двойным нажатием кнопки «Домой» на iPhone, или не закрою приложение. Я не могу перехватить путь с помощью shouldStartLoadWithRequest:, функция javascript audio.play(), по-видимому, напрямую вызывает встроенный проигрыватель. Я хотел бы контролировать, где и как воспроизводится звук, но, за исключением анализа HTML-кода для любых тегов <audio>, я не могу понять, как захватить этот путь и указать его где-нибудь, кроме значения по умолчанию.

1 Ответ

1 голос
/ 21 июня 2011

UIWebView - это, по сути, оболочка для WebKit.Apple не хочет, чтобы вы касались чего-то большего, чем предусмотрено существующими методами делегатов.

При этом можно изменить DOM любого загруженного документа, добавив JavaScript.Таким образом, вы также можете изменить audio.play, чтобы он ничего не делал, и вместо этого получить URL для воспроизведения с вашим собственным плеером, которым вы можете управлять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...