我正在开发一个iOS应用程序(目前专门针对iPhone,目前为止),需要应用程序只从iPhone内部麦克风录制音频(即使耳机/耳机插入),并在耳机播放(我们假设耳机插入目前).
我想知道现在可以使用API吗?如果是这样,有人可以请你说明我该怎么做?
谢谢!
解决方法
我相信这个问题的答案是“不”.我使用iPhone 4和新到iOS 4 AVFoundation进行实验,重点关注
AVCaptureDevice课程.
NSLog(@"%@",[AVCaptureDevice devices]);
所以要求列出可用于捕获音频和/或视频的所有设备.没有耳机插入,我得到:
( "Back Camera","Front Camera","iPhone Microphone" )
随着耳机插入我得到:
( "Back Camera",Headphones )
因此,只要耳机可用,iPhone麦克风就会丢弃可用的AVCaptureDevices列表.为了进一步探索,我添加了一些快速的代码来获取可用音频设备的AVCaptureDevice实例,并打印其唯一的ID.对于将本身识别为“iPhone麦克风”的设备和将其本身标识为“耳机”的设备,我得到:
com.apple.avfoundation.avcapturedevice.built-in_audio:0
在我看来,显然两台设备不能拥有相同的唯一ID,所以显然它是改变其状态的设备.虽然AVCaptureDevices有很多设置状态的东西,但它只限于焦点,曝光,闪光和白平衡等视觉效果.