相关疑难解决方法(0)

同时录制和播放音频

任何人帮助我在Iphone中同时录制和播放音频.

objective-c core-audio audio-recording ios

12
推荐指数
2
解决办法
3万
查看次数

如何在OS X上实时录制和播放音频

我正在尝试从麦克风录制声音并在OS X上实时播放.最终它将通过网络流式传输,但是现在我只是尝试实现本地录制/播放.

我能记录声音和写入文件,我可以做的都AVCaptureSessionAVAudioRecorder.但是,我不确定如何在录制时播放音频.使用AVCaptureAudioDataOutput作品:

self.captureSession = [[AVCaptureSession alloc] init];
AVCaptureDevice *audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];

NSError *error = nil;
AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error];

AVCaptureAudioDataOutput *audioDataOutput = [[AVCaptureAudioDataOutput alloc] init];

self.serialQueue = dispatch_queue_create("audioQueue", NULL);
[audioDataOutput setSampleBufferDelegate:self queue:self.serialQueue];

if (audioInput && [self.captureSession canAddInput:audioInput] && [self.captureSession canAddOutput:audioDataOutput]) {
    [self.captureSession addInput:audioInput];
    [self.captureSession addOutput:audioDataOutput];

    [self.captureSession startRunning];

    // Stop after arbitrary time    
    double delayInSeconds = 4.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            [self.captureSession stopRunning];
        });

} …
Run Code Online (Sandbox Code Playgroud)

audio macos avfoundation

6
推荐指数
1
解决办法
3295
查看次数

使用Objective C在iPhone中组合两个.wav文件

我想将两个.wav录制文件组合在一起.任何人都可以帮我弄清楚如何实现这一点.我尝试组合数据,但标题正在产生问题.我们可以像我们一样组合波形文件进行组合.

这就是我在做联合收割机的方式,

NSMutableData *datas = [NSMutableData alloc];

NSData *data1 = [NSData dataWithContentsOfFile: [recordedTmpFile1 path]];

NSData *data2 = [NSData dataWithContentsOfFile: [recordedTmpFile2 path]];

 NSLog(@"file1 size : %d", [data1 length]);

 NSLog(@"file2 size : %d", [data2 length]);

[datas appendData:data1];

  [datas appendData:data2];

 NSLog(@"file3 size : %d", [datas length]);

            NSURL *combinedPath = [NSURL alloc];

combinedPath = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent: 

[NSString stringWithFormat: @"1_20111215.%@",@"wav"]]];

            [[NSFileManager defaultManager] createFileAtPath:[combinedPath path] contents:datas attributes:nil];       

            NSFileManager * fm = [NSFileManager defaultManager];

[fm removeItemAtPath:[recordedTmpFile2 path] error:nil];  
Run Code Online (Sandbox Code Playgroud)

iphone objective-c core-audio caf

1
推荐指数
1
解决办法
4815
查看次数