启用静音开关时如何在iOS上播放声音



可能的重复项:
即使在静音模式下也能在 iPhone 上播放声音

我正在尝试播放一个简短的声音(表示计时器的完成),并将其实现为系统声音。由于我的应用程序是计时器,因此我希望即使启用了静音开关也能听到声音。

// Load the sound
NSString *path = [[NSBundle mainBundle] pathForResource:@"tinshaw"
                                                 ofType:@"wav"];
NSLog(@"tinshaw: %@", path);
NSURL *pathURL = [NSURL fileURLWithPath:path];
// Create a system sound object representing the sound file.
AudioServicesCreateSystemSoundID ( ((__bridge CFURLRef)pathURL), &completionSound);
// Play the Sound
AudioServicesPlaySystemSound(completionSound);

我尝试将音频会话类别更改为"AVAudioSessionCategoryPlayback",但这不起作用。有吗

想想你要问什么。如果第三方应用程序可以选择忽略它并播放声音,那么静音开关有什么用?

当设备静音时,声音何时播放有一些例外,但这些不适用于第三方应用程序。

+1 to @Shaggy Frog。尽管无论静音开关状态如何,都有用于播放声音的 API,但它们绝对是私有的。所以,基本上,你的问题的答案是它无法完成。但是,您可以做的是,每次应用程序启动时使用某种警报消息(在viewDidLoad方法中),礼貌地提醒您的用户,如果他们希望从您的应用程序发出警报,请保持手机未静音。

最新更新