我需要一些指导,因为我可能不得不搁置开发,直到稍后的时间。
我想要在关灯和房间变暗后播放声音,然后在灯重新打开时停止声音。我发现苹果目前还没有提供访问环境光传感器的方法(不会以任何方式获得App Store的批准)。
我一直在研究的另一种方法是尝试检测音量(使用AVAudioPlayer/Recorder和来自http://mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/的示例代码。也就是说,当我检测到房间里的人的声音降到了特定的水平(即试图补偿背景噪音的静默)时,我会播放我的声音。
但是,如果房间里的人再次开始说话,而我检测到声音,我需要停止播放声音。
问:这是不是弄巧成拙,也就是说,iPhone产生的声音基本上会被iPhone麦克风拾取,与房间里的任何声音都无法区分?我认为是的,除非有替代的方法,否则我将陷入僵局,直到苹果公司开放光传感器API。
发布于 2013-07-19 01:32:01
我认为iPhone扬声器发出的噪音不会被麦克风接收到。电话会取消扬声器发出的声音。我读过这篇文章一次,如果我找到了源码,我会把它贴出来。然而,从经验上讲,当你使用扬声器电话时,你可以看出这是一种情况。如果麦克风从离它一英寸远的扬声器接收到声音,反馈将是可怕的。
话虽如此,唯一确定它是否适用于您的情况的方法就是尝试一下。
发布于 2013-07-19 01:47:13
我同意沃兹的观点:手机应该取消它发出的声音。关于环境光传感器,我看到的唯一替代方案是使用摄像头,但这将是非常低效的能源效率,并需要启动应用程序。
https://stackoverflow.com/questions/17730104
复制相似问题