AudioKit背景音频电池使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AudioKit背景音频电池使用相关的知识,希望对你有一定的参考价值。
我刚从AVAudio切换到AudioKit。为了让事情有效,我必须启用背景音频,因为那时电池使用率很低。
一旦序列或玩家进入和结束,清理和播放背景音频的最佳方法是什么?
任何帮助将不胜感激。
答案
在您的app委托中:
func applicationDidEnterBackground(_ application: UIApplication) {
conductor.checkIAAConnectionsEnterBackground()
}
func applicationWillEnterForeground(_ application: UIApplication) {
conductor.checkIAAConnectionsEnterForeground()
}
在您的音频引擎或指挥(根据其他AudioKit示例)中:
var iaaTimer: Timer = Timer()
func checkIAAConnectionsEnterBackground() {
if let audiobusClient = Audiobus.client {
if !audiobusClient.isConnected && !audiobusClient.isConnectedToInput {
deactivateSession()
AKLog("disconnected without timer")
} else {
iaaTimer.invalidate()
iaaTimer = Timer.scheduledTimer(timeInterval: 20 * 60,
target: self,
selector: #selector(self.handleConnectionTimer),
userInfo: nil, repeats: true)
}
}
}
func checkIAAConnectionsEnterForeground() {
iaaTimer.invalidate()
startEngine()
}
func deactivateSession() {
stopEngine()
do {
try AKSettings.session.setActive(false)
} catch let error as NSError {
AKLog("error setting session: " + error.description)
}
iaaTimer.invalidate()
AKLog("disconnected with timer")
}
@objc func handleConnectionTimer() {
AKLog("should disconnect with timer")
deactivateSession()
}
以上是关于AudioKit背景音频电池使用的主要内容,如果未能解决你的问题,请参考以下文章