我正在使用系统声音在应用中向我的用户发送一种通知。以前,它应该是应有的。我正在使用
AudioServicesPlaySystemSound(1009);
我从this site获取代码并选择1009.稍后,它停止工作,而不是在应该播放时播放声音。我检查过,发现我应该使用它:
AudioServicesPlaySystemSoundWithCompletion(theSoundID, ^{
AudioServicesDisposeSystemSoundID(theSoundID);
});
我用1009这个并没用。我将其重组为:
NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/sms-received3.caf"]; //filename can include extension e.g. @"bang.wav"
if (fileURL)
{
SystemSoundID theSoundID;
OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef)fileURL, &theSoundID);
if (error == kAudioServicesNoError)
{
AudioServicesPlaySystemSoundWithCompletion(theSoundID, ^{
AudioServicesDisposeSystemSoundID(theSoundID);
});
}
}
仍然没有工作。 (我检查文件是否存在,它存在。我也检查手机是否处于静音模式,不是) 但是,在运行时我转到设置>声音和播放铃声和警报音量级别。然后我继续(不重启)使用应用程序,它播放声音。停止并再次运行后,错误再次启动。即使在获取声音时,它也不会持续工作。
可能是iOS10,我不知道。我该怎么办?谢谢!
Ps:我包括<AudioToolbox/AudioToolbox.h>
答案 0 :(得分:0)
请尝试设置AVAudioSession
的类别
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *err = nil;
[audioSession setCategory: AVAudioSessionCategoryPlayback error:&err];
AudioServicesPlaySystemSound(1009);