Mac アプリで AVAudioRecorder を使用しています。私の.mファイルで私は宣言します
@interface RecordViewController ()
{
AVAudioRecorder *audioRecorder;
...
}
@end
さらに下に、次のようにオブジェクトを初期化します。
audioRecorder = [[[AVAudioRecorder alloc] initWithURL:soundFileURL settings:recorderSettings error:&error] retain];
...
[audioRecorder prepareToRecord];
...
[audioRecorder record];
ファイルが作成されることがわかりますが、4KB しかありません。エラーは発生しませんが、テストする[audioRecorder isRecording]
と [audioRecorder が記録されていません。ARC を使用しておらず、dealloc メソッドが呼び出されていないにもかかわらず、オブジェクトが解放されたと想定しています。
AVAudioPlayer でも同様の問題がありましたがretain]
、alloc init に追加することで解決しました。
私は何を間違っていますか?
ありがとう
更新 1:
私は次のことも試みました(すべて同じ方法で):
[audioRecorder record];
NSLog(@"recording is ... %d", [audioRecorder isRecording]);
結果は 0 です。
使用する必要がありますself
か? または遅延インスタンス化audioRecorder
?
更新 2: プロジェクトを再作成しました - TEST と呼び、古いプロジェクトからソース コードをコピーしました。今それは動作しますか?!?! 図に行きます。ソースコードは行ごとに同じです。これは XCode の既知の問題ですか?