UIWebView拦截来自javascript音频播放器的“设置电影路径:”

时间:2010-11-05 15:11:37

标签: iphone objective-c audio uiwebview

在iOS 4中,我在一个带有javascript音频播放器的UIWebView中加载了一个页面。我没有创建这个播放器,它是由第三方拥有的,所以我不能修补它。当我单击播放按钮时,我看到如下的NSLog打印输出:

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

我的问题是,它的电影路径设置是什么,我该如何拦截它?音频将继续播放,直到我创建另一个UIWebView,或使用iPhone主页按钮双击可访问的内置音频控件,或关闭应用程序。我无法使用shouldStartLoadWithRequest:拦截路径,javascript函数audio.play()似乎直接调用了一些内置播放器。我想控制音频播放的位置和方式,但是没有解析任何<audio>标签的HTML,我无法弄清楚如何获取该路径并将其指向默认值以外的其他位置。

1 个答案:

答案 0 :(得分:1)

UIWebView本质上是WebKit的包装器。 Apple不希望您接触到比现有委托方法提供的更多信息。

话虽这么说,你可以通过注入JavaScript来修改任何加载文档的DOM。这样你也可以修改audio.play而不做任何事情,而是让URL与你自己可以控制的播放器一起玩。