繁体   English   中英

如何为iOS模拟器选择输入设备?

[英]How to select input device for iOS simulator?

在Mac上,我知道如何查询和选择输入设备,首先查询设备数量:

AudioDeviceID deviceList[ nDevices ];
UInt32 dataSize = sizeof( AudioDeviceID ) * nDevices;
AudioObjectPropertyAddress property = { kAudioHardwarePropertyDevices,
    kAudioObjectPropertyScopeGlobal,
    kAudioObjectPropertyElementMaster };
OSStatus result = AudioObjectGetPropertyData( kAudioObjectSystemObject, &property, 0, NULL, &dataSize, (void *) &deviceList );

然后遍历设备数量并使用以下命令查询其中是否有输入设备:

AudioDeviceID id = deviceList[d];
property.mSelector = kAudioDevicePropertyStreamConfiguration;
property.mScope = kAudioDevicePropertyScopeInput;
dataSize = 0;
result = AudioObjectGetPropertyDataSize( id, &property, 0, NULL, &dataSize );

最终获得更多设备信息,例如制造商:

CFStringRef cfName;
dataSize = sizeof( CFStringRef );
property.mSelector = kAudioObjectPropertyManufacturer;
result = AudioObjectGetPropertyData( id, &property, 0, NULL, &dataSize, &cfName );

这些查询都无法使用iOS模拟器(Xcode5,iOS7 SDK)进行编译,而且我似乎无法在iOS SDK文档集中找到与iOS模拟器(本质上是OS X)等效的功能。

是否需要遵循其他过程或一组API? 如果是这样,我在哪里可以找到说明?

谢谢!

在iOS(7及更高版本)中,AVAudioSession API用于枚举和选择音频端点。 通过Simulator抽象层,iOS Simulator音频端点可能会或可能不会连接多个Mac音频端点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM