最近发现MPNowPlayingInfoCenter在某些情况下无论怎么设置,在锁屏状态和后台时都不显示播放信息。
在查找一些资料后:
AVAudioSession是用来管理多个APP对音频硬件设备(麦克风,扬声器)的资源使用。MPNowPlayingInfoCenter是用来在控制中心显示当前音频播放信息的。如果使用AVAudioSession设置为与其他app进行声音混合的时候,那么MPNowPlayingInfoCenter就不能正常显示信息,我猜是因为混合的时候不知道该显示哪一个音频的信息,因为MPNowPlayingInfoCenter只有一个。所以为了正常显示,避免以下设置:
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error:&setCategoryError];
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDuckOthers error:&setCategoryError];
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDuckOthers error:&setCategoryError];
网友评论