我有一个应用程序要求,即在iPhone应用程序中实现VOIP功能。
使用套接字的连接服务器有点成功。
我面临一些问题。
我已经实现了以下录音代码。
-(void)open {
NSError *error;
m_capture = [[AVCaptureSession alloc]init];
AVCaptureDevice *audioDev = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
if (audioDev == nil)
{
printf("Couldn't create audio capture device");
return ;
}
//m_capture.sessionPreset = AVCaptureSessionPresetLow;
// create mic device
AVCaptureDeviceInput *audioIn = [AVCaptureDeviceInput deviceInputWithDevice:audioDev error:&error];
if (error != nil)
{
printf("Couldn't create audio input");
return ;
}
// add mic device in capture object
if ([m_capture canAddInput:audioIn] == NO)
{
printf("Couldn't add audio input");
return ;
}
[m_capture addInput:audioIn];
// export audio data
AVCaptureAudioDataOutput *audioOutput = [[AVCaptureAudioDataOutput alloc] init];
[audioOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
if ([m_capture canAddOutput:audioOutput] == NO)
{
printf("Couldn't add audio output");
return ;
}
[m_capture addOutput:audioOutput];
[audioOutput connectionWithMediaType:AVMediaTypeAudio];
[m_capture startRunning];
return ;
}
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection{
}
以上代码具有captureOutput
功能。此功能是连续捕获音频。
我不知道如何将PCM原始音频数据发送到服务器并获取PCM原始音频数据并在 iPhone 中播放音频。
完成服务器编码。服务器取回我的PCM原始音频数据。