我正在开发闹钟,需要在接收本地通知时唤醒。但是当设备静音我听不到任何声音时,我问,因为我看到2个应用程序实现了这一点,即(无线电报警)。谢谢,拜托。
查看AVAudioSession
的setCategory
功能 - 它应该为你做的伎俩。
我几乎可以肯定,RadioAlarm可以在静音时播放,因为它会让自己在后台运行。对于NORMAL本地通知(即即使在应用程序完成后也会发出通知),我还没有找到克服静音开关或振铃音量的方法。
-(void)playSound:(NSString *)filePath
{
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: nil];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:filePath]];
[playerItem addObserver:self forKeyPath:@"status" options:0 context:0];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem];
self.audioPlayer = [[AVPlayer alloc] initWithPlayerItem:playerItem];
[self.audioPlayer play];
}