iOS - 系统声音未播放
Posted
技术标签:
【中文标题】iOS - 系统声音未播放【英文标题】:iOS - System sounds not playing 【发布时间】:2017-06-15 06:13:11 【问题描述】:我正在使用系统声音在应用中向我的用户发出某种通知。以前,它按应有的方式工作。我正在使用
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>
【问题讨论】:
【参考方案1】:请设置AVAudioSession
的分类试试
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *err = nil;
[audioSession setCategory: AVAudioSessionCategoryPlayback error:&err];
AudioServicesPlaySystemSound(1009);
【讨论】:
其他系统听起来正常吗?还是只有 1009 有问题? 不,我试过其他代码,发现没关系。 上面的代码非常适合我!我认为您的问题与 Code 无关。 请让我知道音频播放的最后更改 你在模拟器上运行吗?以上是关于iOS - 系统声音未播放的主要内容,如果未能解决你的问题,请参考以下文章