我有一个使用AVPlayer来传输远程音轨的游戏。这个音乐是游戏中的背景音频,所以我需要它来尊重设备上的静音/静音开关。
根据Apple的文档,我正在执行以下操作:
NSError *error;
NSError *activationError;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryAmbient error:&error];
[audioSession setActive:YES error:&activationError];
AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:@"http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C%20Major.mp3"]];
self.player = [[AVPlayer alloc] init];
[self.player replaceCurrentItemWithPlayerItem:item];
[self.player play];
// error = nil, and activationError = nil at this point
我已经为远程和本地文件尝试了这种方法。当设备处于静音模式时,文件播放并可以听到,而我希望AVPlayer在静音开关打开时静音播放。