iPhone静音时如何播放声音?
Posted
技术标签:
【中文标题】iPhone静音时如何播放声音?【英文标题】:How to play a sound when iPhone is on silent? 【发布时间】:2019-01-09 21:52:09 【问题描述】:我正在尝试为 ios 构建一个 react-native 警报应用程序。我查看了几个库,似乎最适合我的项目的库是 react-native-alarm,但是我遇到了问题。当我的设备处于静音模式时,用于唤醒设备和播放声音的预定本地通知不会执行此操作。我看到人们说他们已经通过使用苹果提供的 AVAudioPlayer API 解决了这个问题,但我似乎无法让它工作。一些指导和帮助可能会有所帮助。
我已按照此处的说明进行操作:Play sound on iPhone even in silent mode 并尝试更改库的代码,以便在没有运气的情况下解决静默模式。
这是我的代码
-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^ (UNNotificationPresentationOptions))completionHandler
completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionSound);
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"/Library/Ringtones/Constellation" ofType:@"m4r"];
NSURL *url = [NSURL fileURLWithPath:soundPath];
audioPlay = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlay play];
如果我做错了什么,或者有一个可以在 react-native 中使用的替代库,我很乐意听到。我在 Objective-c 方面不是很有经验,所以这就是为什么我可以在这段代码中做一些愚蠢的事情。
【问题讨论】:
【参考方案1】:您忘记将会话设置为活动:
[[AVAudioSession sharedInstance] setActive:YES error:nil];
【讨论】:
您好,我将它添加到 userNotificationCenter 中,并且再次没有声音。还有其他建议吗?以上是关于iPhone静音时如何播放声音?的主要内容,如果未能解决你的问题,请参考以下文章