我开发了支持Apple CarPlay的音频流应用程序。如果iPhone被锁定,它可以正常工作,应用程序处于后台或活动状态。但我想从CarPlay播放音频,即使应用程序处于类似于Spotify应用程序的终止状态。我尝试了很多东西,但都无法实现这一点。所以请帮助我,并分享一些代码来审查。
smtd7mpg1#
import UIKit import AVFoundation @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Configure your audio session do { try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.mixWithOthers, .allowAirPlay]) try AVAudioSession.sharedInstance().setActive(true) } catch { print("Error setting up audio session: \(error.localizedDescription)") } return true } func remoteControlReceived(with event: UIEvent?) { if let event = event { switch event.subtype { case .remoteControlPlay: // Handle play event break case .remoteControlPause: // Handle pause event break case .remoteControlTogglePlayPause: // Handle toggle play/pause event break case .remoteControlNextTrack: // Handle next track event break case .remoteControlPreviousTrack: // Handle previous track event break default: break } } } // Additional methods for handling background tasks var backgroundTask: UIBackgroundTaskIdentifier = .invalid func beginBackgroundTask() { backgroundTask = UIApplication.shared.beginBackgroundTask(withName: "Background Audio", expirationHandler: { // Cleanup tasks when the background task expires UIApplication.shared.endBackgroundTask(self.backgroundTask) self.backgroundTask = .invalid }) } // Other methods... }
字符串
1条答案
按热度按时间smtd7mpg1#
字符串