在我的应用程序中,当系统接收到特定频率的信号时,我会播放系统声音。为了检测频率,我使用了PitchDetector。然后我在互联网上寻找如何播放iOS系统的声音,我找到了这。我想播放名为sms_alert_circles.caf的声音,所以在- (void)viewDidLoad方法中,我编写了以下代码:
NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/Modern/sms_alert_circles.caf"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge_retained CFURLRef)fileURL,&soundID);然后,在检测音频信号频率的方法中,我输入了以下代码:
AudioServicesPlaySystemSound(soundID);但是,如果我试图在我的iPhone上运行这段代码,什么都不会发生。它识别频率,但它不执行声音,我的代码有什么问题?你能帮帮我吗?
显然我打开了我的设备的声音
发布于 2014-03-18 12:40:10
也许你的路径是错的,它应该是一个文件在应用程序包内的路径。
将sms_alert_circles.caf文件添加到xcode项目中。检查该文件在项目“构建阶段”中的“复制捆绑资源”列表中。然后更改以下行:
NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/Modern/sms_alert_circles.caf"];至
NSString *soundPath = [[NSBundle mainBundle]
pathForResource:@"sms_alert_circles.caf"
ofType:nil];
NSURL *fileURL = [NSURL URLWithString:soundPath];此外,您还可以尝试使用AKSystemSound库通过几乎一行代码播放声音。
https://stackoverflow.com/questions/22477974
复制相似问题