我有一个UIWebView,可以在我的视图控制器中播放视频片段.当我退出应用程序时,音频将停止播放,虽然我可以按控制中心的播放再次继续播放.为此,我在AppDelegate.swift中使用以下代码.
当应用程序进入后台时,我希望音频自动开始播放.如何启用MPMusicPlayerController/AVAudioPlayer(我真的不确定它是什么)继续播放,这样用户就不必手动按播放了?
我还在目标设置中的背景模式下选中了"音频和Airplay",并将所需背景模式设置为"App播放音频或使用AirPlay传输音频/视频".
var error: NSError?
var success = AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &error)
if !success {
NSLog("Failed to set audio session category. Error: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
更新:我正在创建一个自定义视图appDel以容纳视频迷你播放器.这就是我创造它的方式.CustomWindow是一个自定义类UIWindow,我将迷你播放器添加到视图层次结构的顶部.在这段代码中,我在创建之前调用该方法UIWebView吗?
class AppDelegate: UIResponder, UIApplicationDelegate {
let myWind = CustomWindow(frame:UIScreen.mainScreen().bounds)
var window: UIWindow? {
set {
}
get {
return myWind
}
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
var error: NSError?
var success = AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &error)
if success {
AVAudioSession.sharedInstance().setActive(true, error: nil)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
} else {
NSLog("Failed to set audio session category. Error: \(error)")
}
myWind.showOrHidePopupWindow()
}
Run Code Online (Sandbox Code Playgroud)
尝试使用以下代码更新代码:
var error: NSError?
var success = AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &error)
if success {
AVAudioSession.sharedInstance().setActive(true, error: nil)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
} else {
NSLog("Failed to set audio session category. Error: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
重要:
UIWebView实例之前调用上面的代码| 归档时间: |
|
| 查看次数: |
2680 次 |
| 最近记录: |