【发布时间】:2014-03-18 11:27:54
【问题描述】:
在我的应用程序中,当它接收到特定频率的信号时,我会播放系统声音。为了检测频率,我使用了PitchDetector。然后我上网查看如何播放iOS系统声音,我找到了this。我想播放叫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 上运行此代码,则什么也没有发生。它识别频率,但不执行声音,我的代码有什么问题?你能帮帮我吗?
显然我打开了设备的声音
【问题讨论】:
-
检查手机的硬静音按钮
-
我现在编辑了问题并且声音已打开(静音按钮已关闭)
-
您是否在录制音频或语音之类的内容?
-
你能确认你用来创建fileURL对象的路径实际上是有权限读取的文件吗?我的理解是,从 iOS4 开始,您必须提供自己的声音文件。除非设备被越狱,否则我不相信您可以访问该文件。
-
@iTroyd23:我正在使用麦克风来检测音频信号
标签: ios iphone objective-c audio audiotoolbox