您的位置:首页 > 移动开发 > IOS开发

iOS获取音频设备信息

2017-07-26 10:15 1036 查看
方法1:

        CFDictionaryRef descDictRef = nil;

        UInt32 refSize = sizeof(descDictRef);

        status = AudioSessionGetProperty(kAudioSessionProperty_AudioRouteDescription, &refSize,
&descDictRef);

打印信息如下:

Printing description of dictRef:

{

    "RouteDetailedDescription_Outputs" =    
(

                {

            "RouteDetailedDescriptionKey_EndpointType" = Headphones;

            "RouteDetailedDescription_ChannelDescriptions" =            
(

                                {

                    "ChannelDescription_Label" = 1;

                    "ChannelDescription_Name" = "AirPods \U5de6";

                },

                                {

                    "ChannelDescription_Label" = 2;

                    "ChannelDescription_Name" = "AirPods \U53f3";

                }

            );

            "RouteDetailedDescription_ID" = 486;

            "RouteDetailedDescription_IsHeadphones" = 1;

            "RouteDetailedDescription_IsVoiceProcessingSupported" = 0;

            "RouteDetailedDescription_Name" = AirPods;

            "RouteDetailedDescription_NumberOfChannels" = 2;

            "RouteDetailedDescription_PortType" = BluetoothA2DPOutput;

            "RouteDetailedDescription_UID" = "7C:04:D0:8A:43:33-tacl";

        }

    );

}

方法2:

NSArray* availableInputs = [[AVAudioSession sharedInstance] availableInputs];  

打印信息如下:

Printing description of availableInputs:

<__NSSingleObjectArrayI 0x17400cb30>(

<AVAudioSessionPortDescription: 0x17400cae0, type = MicrophoneBuiltIn; name = iPhone
麦克风; UID = Built-In Microphone; selectedDataSource =
下>

)

如果是蓝牙设备,采集的时候采样率设置比较高,传输的时候可能会丢数据,可以采样率设置小一点,后面再做重采样处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS bluetooth Audio