1。添加头文件,并添加相应的framework
#import<CoreMedia/CoreMedia.h>
#import<AVFoundation/AVFoundation.h>
2。添加 AVCaptureAudioDataOutputSampleBufferDelegate
3。初始化并开始获取声音
AVCaptureSession*captureSession;
-(void)initVoice
{
if(captureSession)
{
[captureSessionstartRunning];
}
else
{
captureSession= [[AVCaptureSessionalloc]init];
AVCaptureDevice*audioDevice = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeAudio];
if(audioDevice) {
NSError*error;
AVCaptureDeviceInput*audioIn = [AVCaptureDeviceInputdeviceInputWithDevice:audioDeviceerror:&error];
if ( !error ) {
if ([captureSession canAddInput:audioIn])
[captureSession addInput:audioIn];
else
NSLog(@"Couldn't add audio input");
}
else
NSLog(@"Couldn't create audio input");
}
else
NSLog(@"Couldn't create audio capture device");
AVCaptureAudioDataOutput*audioOut = [[AVCaptureAudioDataOutputalloc]init];
[audioOutsetSampleBufferDelegate:selfqueue:dispatch_get_main_queue()];
if ([captureSession canAddOutput:audioOut]) {
[captureSession addOutput:audioOut];
//audioConnection =
[audioOutconnectionWithMediaType:AVMediaTypeAudio];
}
else
NSLog(@"Couldn't add audio output");
[audioOut release];
[captureSessionstartRunning];
}
#import<CoreMedia/CoreMedia.h>
#import<AVFoundation/AVFoundation.h>
2。添加 AVCaptureAudioDataOutputSampleBufferDelegate
3。初始化并开始获取声音
AVCaptureSession*captureSession;
-(void)initVoice
{
if(captureSession)
{
[captureSessionstartRunning];
}
else
{
captureSession= [[AVCaptureSessionalloc]init];
AVCaptureDevice*audioDevice = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeAudio];
if(audioDevice) {
NSError*error;
AVCaptureDeviceInput*audioIn = [AVCaptureDeviceInputdeviceInputWithDevice:audioDeviceerror:&error];
if ( !error ) {
if ([captureSession canAddInput:audioIn])
[captureSession addInput:audioIn];
else
NSLog(@"Couldn't add audio input");
}
else
NSLog(@"Couldn't create audio input");
}
else
NSLog(@"Couldn't create audio capture device");
AVCaptureAudioDataOutput*audioOut = [[AVCaptureAudioDataOutputalloc]init];
[audioOutsetSampleBufferDelegate:selfqueue:dispatch_get_main_queue()];
if ([captureSession canAddOutput:audioOut]) {
[captureSession addOutput:audioOut];
//audioConnection =
[audioOutconnectionWithMediaType:AVMediaTypeAudio];
}
else
NSLog(@"Couldn't add audio output");
[audioOut release];
[captureSessionstartRunning];
}