Tag: 录音

如何用混响效果保存录制的audio

我正在使用theamazingaudioengine录制,播放和添加像iOS应用程序的混响效果。 我可以录制,播放录制的audio以及混响效果。 但是我无法将具有混响效果的audio文件保存到图库中。 任何人都可以帮助我这个。 我正在保存录制的audio。 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; NSArray *documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [[documentsFolders objectAtIndex:0] stringByAppendingPathComponent:@"Recording.aiff"]; [library writeVideoAtPathToSavedPhotosAlbum:[NSURL URLWithString:path] completionBlock:^(NSURL *assetURL, NSError *error){ /*notify of completion*/ NSLog(@"AssetURL: %@",assetURL); NSLog(@"Error: %@",error); if (!error) { //video saved [[self appDelegate] showAlertWithTitle:@"Audio Saved" message:@""]; } else{ [[self appDelegate] showAlertWithTitle:@"Error" message:error.domain]; } }]; […]

如何在ios中裁剪audio

我想知道如何裁剪语音和audio的某些部分,并使用Objective-C代码将它们组合在单个文件中。 我应该使用C ++库吗? 想要将avaudiorecorder转换为数据并select一些部分。

Android和iOS有什么共同的audio格式编码器?

此外,logging必须跨设备共享(可能在服务器上存储/处理)。 除了通用的格式之外,我希望你的build议是正确的比特率/configuration等。 我正在录制语音,我希望获得最小的空间,但对人们logging的内容(或多或less地是WhatsApp的工作方式)有很好的/正确的理解,所以他们彼此了解,并且文件足够轻以便在慢速连接中传播得相对较快。 我已经去了这个Android图表 ,但我对iOS(未来发展)知之甚less。

如何更改iPhone发送到蜂窝networking的语音数据?

我有这个代码,在iPhone中logging一个语音电话。 我想要的是改变到蜂窝networking的数据。 具体来说,我想我需要访问语音数据,他们是调制在DSP,并准备发送到蜂窝networking。 我想对已调制的数据应用一些stream密码。 这是正确的类寻找? 任何build议,欢迎。 如何在iOS上录制对话/电话? #import <AudioToolbox/AudioToolbox.h> #import <libkern/OSAtomic.h> //CoreTelephony.framework extern "C" CFStringRef const kCTCallStatusChangeNotification; extern "C" CFStringRef const kCTCallStatus; extern "C" id CTTelephonyCenterGetDefault(); extern "C" void CTTelephonyCenterAddObserver(id ct, void* observer, CFNotificationCallback callBack, CFStringRef name, void *object, CFNotificationSuspensionBehavior sb); extern "C" int CTGetCurrentCallCount(); enum { kCTCallStatusActive = 1, kCTCallStatusHeld = 2, kCTCallStatusOutgoing = […]

方法captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer :( CMSampleBufferRef)sampleBuffer fromConnection只调用了几次

我从外部蓝牙麦克风捕捉audio。 但是我不能logging任何东西。 这个方法在当前AvCaptureSession的开始只调用一次。 – (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection 之后,我从来没有把这个方法叫做处理audio。 为了实例化捕获会话,我这样做: self.captureSession.usesApplicationAudioSession = true; self.captureSession.automaticallyConfiguresApplicationAudioSession = true; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil]; /* Audio */ AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; audioIn = [[AVCaptureDeviceInput alloc] initWithDevice:audioDevice error:nil]; if ( [_captureSession canAddInput:audioIn] ) { [_captureSession addInput:audioIn]; } [audioIn release]; audioOut = [[AVCaptureAudioDataOutput alloc] init]; // Put audio […]

录制audio时如何将audio录制设置更改为16Khz和16位?

我有下面的设置。 录制audio时,我想将audio录制设置更改为16Khz和16位。 NSArray *dirPaths; NSString *docsDir; dirPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); docsDir = [dirPaths objectAtIndex:0]; NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"sound.wav"]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey, [NSNumber numberWithInt:16], AVEncoderBitRateKey, [NSNumber numberWithInt: 2], AVNumberOfChannelsKey, [NSNumber numberWithFloat:44100.0], AVSampleRateKey, nil]; NSError *error = nil; audioRecorder = [[AVAudioRecorder alloc] initWithURL:soundFileURL settings:recordSettings […]

iOS:如何修剪.aif录音的开始和结束的沉默?

我的应用程序包括用户录制短信的function; 我想从logging的开始和结束中删除任何沉默(或者,更确切地说,音量低于给定阈值的任何audio)。 我正在使用AVAudioRecorder录制audio,并将其保存为.aif文件。 我在其他地方已经看到了一些方法,我可以等待开始logging,直到audio电平达到阈值; 那会让我在一半的地方,但不会有助于修剪沉默。 如果有一个简单的方法来做到这一点,我将永远感激! 谢谢。

看似随机文件损坏使用AVAudioRecorder(有时文件不能播放) – iOS

在我正在开发的应用程序中,我或多或less地碰到了一堵砖墙。 在应用程序中,您可以input一个视图,在标准表视图中列出所有本地保存的audio文件。 从这里你可以点击它们来播放它们,或者点击下面的一个loggingbutton来创build一个新的logging,然后自动保存到应用程序沙箱中。 现在所有这些在大多数情况下都可以很好地工作。 我可以坐下来做录音,然后回放。 我可以一直坐下来testing,大约45分钟,没有任何问题。 然后突然在随机的时候,我会遇到一个非常奇怪的问题。 问题在于,logging器突然开始只保存无法播放的损坏文件,无论多长时间录制,其大小都是4096字节。 我以完全标准的方式使用AVAudioRecorder,如下所示: // Specific settings for the audio recording NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey, [NSNumber numberWithInt:8], AVEncoderBitRateKey, [NSNumber numberWithInt: 2], AVNumberOfChannelsKey, [NSNumber numberWithFloat:22000.0], AVSampleRateKey, nil]; NSError *error = nil; audioRecorder = [[AVAudioRecorder alloc] initWithURL:contentURL settings:recordSettings error:&error]; audioRecorder.delegate = self; 我开始这样的录音: if (!isRecording) { isRecording = […]

我可以使用AVCaptureSession将AACstream编码到内存吗?

我正在编写一个iOS应用程序,通过networking传输video和audio。 我正在使用AVCaptureSession抓取使用AVCaptureVideoDataOutput的原始video帧,并使用x264在软件中进行编码。 这很好。 我想为audio做同样的事情,只是我不需要太多的audio控制,所以我想用内置的硬件编码器来产生一个AACstream。 这意味着从audio工具箱层使用audio转换器 。 为了做到这一点,我把一个AVCaptudeAudioDataOutput的audio帧的处理程序: – (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection { // get the audio samples into a common buffer _pcmBuffer CMBlockBufferRef blockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer); CMBlockBufferGetDataPointer(blockBuffer, 0, NULL, &_pcmBufferSize, &_pcmBuffer); // use AudioConverter to UInt32 ouputPacketsCount = 1; AudioBufferList bufferList; bufferList.mNumberBuffers = 1; bufferList.mBuffers[0].mNumberChannels = 1; bufferList.mBuffers[0].mDataByteSize = sizeof(_aacBuffer); bufferList.mBuffers[0].mData = _aacBuffer; […]

如何通过NSData播放audio?

我转换了这个path(文件://localhost/var/mobile/Applications/8F81BA4C-7C6F-4496-BDA7-30C45478D758/Documents/sound.wav),这是一个audio文件即录制的。 我将此path转换为NSData。 NSData是:例如: <00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 64617461 1cf50200 32003200 e2ffe2ff 3cff3cff 08fe08fe 44fe44fe 04fe04fe e6fde6fd 95fd95fd 96fe96fe b9feb9fe …………………………………………………………………………………………………………f7fef7fe 96ff96ff bdffbdff d6ffd6ff 92009200 23012301 b200b200 79007900 5c015c01 fe01fe01 f101f101 fc01fc01 7b027b02 36023602 > 我想玩这个NSData, 我喜欢下面 NSString *urlString = [[NSString […]