0

素晴らしいオーディオ エンジンを使用してオーディオを録音し、それを Parse にアップロードしようとしています。

ここでこれに対処しているように見えるstackoverflowに関する素晴らしい質問がありますが、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 が再生されない
  • それを読み込んでアプリで再生すると、以前は再生されませんでした。

私が間違っていることや見落としていることはありますか?これはすばやく簡単に変更できるはずなので、アドバイスをいただければ幸いです。

4

1 に答える 1

1

AERecorder に M4A 形式を使用するように指示してみて、それが役立つかどうかを確認してください (ファイル名の変更に加えて)。

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

または、beginRecording でその fileType を設定します。

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

于 2014-07-16T08:29:07.280 に答える