声を録音するiPhoneアプリを作成しました。記録しようとすると、次のステートメントでエラーメッセージが表示されます。
recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&err];
エラードメイン= NSOSStatusErrorDomainコード= 1718449215 "操作を完了できませんでした(OSStatusエラー1718449215)。"
.cafファイルに記録しようとした場合、正常に動作しています。 .m4aで試した場合、このエラーメッセージが表示されます。
それを解決するのを手伝ってください。
ありがとう。
1718449215は、kAudioFormatUnsupportedDataFormatError
エラーの4文字コードの10進表記です。
一般に、次のようなものを使用して、受け取ったエラーから詳細情報を取得できます。
NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain
code:my_error_code
userInfo:nil];
NSLog(@"Error: %@", [error description]);
これが他の人を助ける場合:私は同じエラーを抱えていましたが、それは間違った形式でオーディオファイルを作成/使用しようとしたことが原因でした。録音をプリセットして.cafファイルを作成しましたが、代わりにxxx.wavファイルを呼び出しました。
OSStatusのエラーコードは厄介です。それらは多くの場合、一般的すぎて役に立ちません。 4文字のエラーコードをデコード しようとしましたか?時々それは役立ちます(他の場合にはゴミを受け取るだけです)。問題を示す最小限のコード例を作成して表示してください。この場合、4文字のコードはfmt?
。数値コードのグーグルとあなたは賢明でなければなりません。
以前にAVAudioRecorderでサウンドを録音するために.caf形式を使用していたときに、ファイルタイプを.mp3に変換したときにもこの問題に直面しました。私は再びファイルタイプを.cafフォーマットに変換しました、そしてそれは動作します。次の形式を使用できます
AAC、PCM、IMA4、ULAW、ILBC
"NSDictionary"空の場合、デフォルトは高品質です。設定すると、この値は非常に低くなります。これらのパラメーターをキャンセルしてみてください。
setting[AVFormatIDKey] = @(kAudioFormatAppleIMA4);
setting[AVSampleRateKey] = @(600.0);
setting[AVNumberOfChannelsKey] = @(1);
setting[AVLinearPCMBitDepthKey] = @(8);
UInt32 code = CFSwapInt32HostToBig(error);
NSLog(@"%4.4s"(char *)&code);
Cまたはcppコードを使用している場合は、これを行うことができます。
char code[4];
*((SInt32*)&code[0]) = error;