我正在录音。我能够以.caf(核心音频格式)录制我的音频,之后我需要将其转换为.wav或.wma才能在FTP服务器上传文件。如何在iOS中将文件转换为.wav或.wma格式?使用GitHub中的POVoiceHUD代码。任何人都可以帮助我解决我的问题。
如果你想将.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
格式存储音频!
首先,您必须在给定的下一行中将保存文件扩展名.caf更改为.wav
[self.voiceHud startForFilePath:[NSString stringWithFormat:@"%@/Documents/MySound.wav", NSHomeDirectory()]];
然后转到方法(启动文件路径:)更改语音质量的设置。
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];