我正在尝试使用the amazing audio engine录制音频,然后将其上传到Parse。
有关stackoverflow的一个很好的问题,它似乎处理了这个here,但我遇到了m4a格式化方面的问题,这意味着这个答案对我没有帮助。
这是我录制音频的方式:
self.recorder = [[AERecorder alloc] initWithAudioController:_audioController];
NSArray * documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * path = [documentsFolders[0] stringByAppendingPathComponent:@"Recording.aiff"];
然后我如何将它保存到Parse:
NSArray * documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * path = [documentsFolders[0] stringByAppendingPathComponent:@"Recording.aiff"];
NSData * audioData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:path]];
PFObject * testObject = [PFObject objectWithClassName:@"TestObject"];
PFFile * audioFile = [PFFile fileWithName:@"audio.aiff" data:audioData];
testObject[@"audioFile"] = audioFile;
[testObject saveInBackground];
一切正常,音频上传并正确保存。
问题在于我以 aiff 格式保存音频,这意味着流式传输和上传需要更长时间,因为它是一个更大的文件。我真的想以m4a格式保存音频,因为速度比质量更重要。
我发现当我将.aiff更改为.m4a时突然无法正常工作。
我做错了什么或忽略了什么?我觉得这应该是一个快速的简单改变所以任何建议将不胜感激。
答案 0 :(得分:1)
您是否可以尝试告诉AERecorder使用M4A格式并查看是否有帮助(除了更改文件名外)。
[self.recorder prepareRecordingToFileAtPath:path fileType:kAudioFileM4AType error:nil];
或者在beginRecording中设置该fileType。
http://theamazingaudioengine.com/doc/interface_a_e_recorder.html#pub-methods