Man*_*wal 9 iphone core-audio ios
我曾经习惯跟随代码流来自麦克风的音频i/o.我想要做的是选择后置麦克风进行录制.我已经读过将kAudioSessionProperty_Mode设置为kAudioSessionMode_VideoRecording可以完成工作,但我不知道如何在我的代码中使用它.任何人都可以帮助我成功设置此参数.
我有这些行来设置属性
Run Code Online (Sandbox Code Playgroud)status = AudioUnitSetProperty(audioUnit, kAudioSessionProperty_Mode, kAudioSessionMode_VideoRecording, kOutputBus, &audioFormat, sizeof(audioFormat)); checkStatus(status);
但它不起作用.
小智 6
在apple developer库中单击此处
你可以看到一个特定的方法
struct AudioChannelLayout {
AudioChannelLayoutTag mChannelLayoutTag;
UInt32 mChannelBitmap;
UInt32 mNumberChannelDescriptions;
AudioChannelDescription mChannelDescriptions[1];
};
typedef struct AudioChannelLayout AudioChannelLayout;
Run Code Online (Sandbox Code Playgroud)
您可以将AudioChannelDescription更改为2以使用辅助麦克风
我做了一些搜索和阅读.终于在AVCaptureDevice类参考中结束了.这里的关键命令是NSLog(@"%@", [AVCaptureDevice devices]);.我用附带的iPhone运行了这个,得到了这个:
"<AVCaptureFigVideoDevice: 0x1fd43a50 [Back Camera][com.apple.avfoundation.avcapturedevice.built-in_video:0]>",
"<AVCaptureFigVideoDevice: 0x1fd47230 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>",
"<AVCaptureFigAudioDevice: 0x1fd46730 [Microphone][com.apple.avfoundation.avcapturedevice.built-in_audio:0]>"
Run Code Online (Sandbox Code Playgroud)
列表中只显示一个麦克风.所以要回答你的问题,它还不能完成.
| 归档时间: |
|
| 查看次数: |
3068 次 |
| 最近记录: |