Я пытаюсь воспроизвести видео с помощью MPMoviePlayerController для приложения iOS в Swift.
Моя цель - играть в системную музыку с чем-то вроде яблочной музыки, затем открывать мое приложение и включать аудио-микширование, но я хочу, чтобы мое приложение могло взять под свой контроль MPNowPlayingInfoCenter
.
Как я могу использовать AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions:.MixWithOthers)
, все еще устанавливая MPNowPlayingInfoCenter?
Google Maps смешивает аудио, принимая настройки MPNowPlayingInfoCenter. Ниже показано, как я пытаюсь установить MPNowPlayingInfoCenter:
func setMeta(){
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
self.becomeFirstResponder()
if let player = PlayWorkoutViewController.player{
let coverArt = MPMediaItemArtwork(image: UIImage(named: "AlbumArt")!)
let dict: [String: AnyObject] = [
MPMediaItemPropertyArtwork: coverArt,
MPMediaItemPropertyTitle:workout.title,
MPMediaItemPropertyArtist:"Alex",
MPMediaItemPropertyAlbumTitle:workout.program.title,
MPNowPlayingInfoPropertyPlaybackRate: player.currentPlaybackRate,
MPNowPlayingInfoPropertyElapsedPlaybackTime: player.currentPlaybackTime,
MPMediaItemPropertyPlaybackDuration: player.playableDuration
]
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = dict
}
}
Вышеупомянутая функция работает, когда я не пытаюсь играть вне музыки с опцией (.MixWithOthers
) одновременно, но пока я пытаюсь играть вне музыки с помощью опции (.MixWithOthers
), информационный центр не обновляется.
Редактирование 1: просто для того, чтобы сделать вещи очень ясными, у меня уже есть правильное воспроизведение видео. Я пытаюсь воспроизвести видео с другим фоновым звуком, имея возможность установить MPNowPlayingInfoCenter.