【问题标题】:Trouble storing Audio on Parse in an m4a format以 m4a 格式在 Parse 上存储音频时遇到问题
【发布时间】:2014-07-16 06:57:08
【问题描述】:

我正在尝试使用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 时,它突然不起作用。

  • 当我点击 Parse 中的数据时,在我听到音频之前,现在无法播放 url
  • 重新加载它并在应用程序上播放它不像以前那样播放它。

我做错了什么或忽略了什么?我觉得这应该是一个快速简单的更改,因此任何建议将不胜感激。

【问题讨论】:

    标签: ios audio parse-platform m4a aiff


    【解决方案1】:

    您能否尝试告诉 AERecorder 使用 M4A 格式,看看是否有帮助(除了更改文件名之外。)

    [self.recorder prepareRecordingToFileAtPath:path fileType:kAudioFileM4AType error:nil];
    

    或者在 beginRecording 中设置该文件类型。

    http://theamazingaudioengine.com/doc/interface_a_e_recorder.html#pub-methods

    【讨论】:

    • 请注意,prepareRecording 函数需要几分之一秒的时间来运行,这意味着任何更改也将被延迟(按下按钮时更改),让记录器始终运行并在后台准备文件然后调用 AERecorderStartRecording();可以通过将口吃移到不太明显的时间来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2014-02-13
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2010-09-20
    • 2011-05-09
    相关资源
    最近更新 更多