У меня есть музыкальный проигрыватель, который использует Superpowered в качестве аудиоплеера.Я следовал этой статье , чтобы реализовать виджет игрока.Тем не менее, виджет иногда появляется, а часто нет. Я хочу, чтобы виджет проигрывателя отображался при воспроизведении звука.
RemoteCommandManager.swift : (из статьи)
AppDelegate.swift :
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.beginReceivingRemoteControlEvents()
// Override point for customization after application launch.
// Initializer the `RemoteCommandManager`.
remoteCommandManager = RemoteCommandManager()
// Always enable playback commands in MPRemoteCommandCenter.
remoteCommandManager.activatePlaybackCommands(true)
// Setup AVAudioSession to indicate to the system you how intend to play audio.
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback, mode: AVAudioSessionModeDefault)
}
catch {
print("An error occured setting the audio session category: \(error)")
}
return true
}
PlayerManager.swift :
func play() {
let _ = try? AVAudioSession.sharedInstance().setActive(true)
superpowered.play()
}
ОБНОВЛЕНИЕ:
Я заметил следующий сценарий:
Если воспроизводится дорожка iTunes (т. Е. Присутствует виджет проигрывателя), тогда я воспроизводю аудиофайл с помощью приложения, виджет проигрывателя изменяется так, что он показываетИнформация о моем приложении.
Я предполагаю, что когда я активирую аудио сеанс, виджет проигрывателя переключается с iTunes на мое приложение.Однако, когда виджет проигрывателя отсутствует, активация аудио-сеанса не может его представить.