1

我一直在尝试使这项工作有一段时间了:

我的应用程序有可能从 UIWebView 中播放 Youtube 的视频。用户可能希望为此使用 AirPlay。当 AirPlay 开启时,设备可能会进入睡眠状态,并且通常视频会在此之后立即停止播放。正如其他帖子中所建议的那样,我将AVAudioSession类别设置为Playback一个并且它可以工作 - 即使设备显示屏进入睡眠状态,AirPlay 也会继续。

但是,这有副作用;如果用户在后台播放音乐时激活了应用程序,将应用程序的音频会话类别设置为播放会导致播放音乐停止,这肯定很烦人。

理想情况下,我想在视频播放开始时设置 AVAudioSession 类别,而不是在激活我的应用程序时设置 - 但我没有看到任何中央或 UIWebview 通知/委托方法来确定这一点。

我有一个针对 iPhone 的hackish解决方法,其中 UIWebview 托管的视频播放器总是加载全屏模式,因此可以确定。但我的应用程序是通用的,在 iPad 上视频开始内联;我不知道什么时候会发生视频播放。这正是音频类别应该切换到播放的时候——它实际上会帮助那些只希望在视频启动之前播放背景音乐的用户。

我不想在 UIWebView 内的视频标签上添加 Javascript 事件 - 这对我来说似乎太脆弱了。

是否可以观察到触发 UIWebView 视频播放的任何 AVFoundation 通知?或者任何人知道任何其他方式来确定视频播放是否将开始/已经开始?

4

0 回答 0