ios – 强制iPhone麦克风作为音频输入

我正在开发一个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有很多设置状态的东西,但它只限于焦点,曝光,闪光和白平衡等视觉效果.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...