我正在录音。我能够以.caf(核心音频格式)录制我的音频,之后我需要将其转换为.wav或.wma才能在FTP服务器上传文件。如何在iOS中将文件转换为.wav或.wma格式?使用GitHub中的POVoiceHUD代码。任何人都可以帮我解决我的问题。
答案 0 :(得分:0)
如果您想将.caf转换为.wav,那么您也可以参考我在评论中提到的this SO post。
但是如果您希望将音频作为.wav或.wma发送到服务器或用于任何目的,那么为什么您不能以.wav或.wma格式记录它。如果您愿意,那么您将不需要转换它。
您可以使用.wav或.wma格式录制音频,只需将extension
作为.wav
或.wma
添加到path
或url
您存储视频的位置以及您在AVAudioRecorder
对象中传递的内容。
例如,
NSString *folderPath = NSTemporaryDirectory();
NSString *soundFilePath = [folderPath
stringByAppendingPathComponent:[NSString stringWithFormat: @"%.0f%@", [NSDate timeIntervalSinceReferenceDate] *1000.0, @"audio.wav"]];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSLog(@"Using File called: %@",soundFileURL);
audioRecorder = [[ AVAudioRecorder alloc] initWithURL:soundFileURL settings:recordSetting error:&error];
[audioRecorder setDelegate:self];
[audioRecorder prepareToRecord];
更新:
我访问了POVoiceHUd,
试着替换下面的行
[self.voiceHud startForFilePath:[NSString stringWithFormat:@"%@/Documents/MySound.caf", NSHomeDirectory()]];
与
[self.voiceHud startForFilePath:[NSString stringWithFormat:@"%@/Documents/MySound.wav", NSHomeDirectory()]];
我认为它会以.wav
格式存储音频!
答案 1 :(得分:0)
首先,您必须在下面的行中将保存文件扩展名.caf更改为.wav
[self.voiceHud startForFilePath:[NSString stringWithFormat:@"%@/Documents/MySound.wav", NSHomeDirectory()]];
然后转到方法(startForFilePath :)更改语音质量的设置。
NSDictionary *recordSettings = [NSDictionary
dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMin],
AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],
AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],
AVNumberOfChannelsKey,
[NSNumber numberWithFloat:8000.0], AVSampleRateKey,
[NSNumber numberWithInt:8], AVLinearPCMBitDepthKey,
nil];