1

これは本当に単純な問題かもしれませんが、を使用して録音を行ったAVAudioRecorder後、レコーダーを停止しました。を停止した後AVAudioRecorder、別のボタンを押して録音を再生しましたが、再生されません。ファイルが存在し、コンピューターで再生できます。コードがファイルの存在を認識していても、エラーは発生しませんが、再生を拒否します。何が問題になる可能性がありますか?

NSError *error = nil;
    if ([[NSFileManager defaultManager] fileExistsAtPath:[self.recorder.url path]]) {
        self.recordingPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:self.recorder.url error:&error];
        self.recordingPlayer.delegate = self;

        if (error) {
            NSLog(@"error: %@", [error localizedDescription]);
        } else {
            [self.recordingPlayer play];
        }


    } else {
        NSLog(@"Recording file doesn't exist");
    }

編集:私のデバイスで試してみたところ、正常に動作し、録音が再生されます。iOSシミュレーターでは動作しません

4

2 に答える 2

1

問題は私のレコード設定にあり、数AVNumberOfChannelsKeyを2に設定しました。何らかの理由で、iOSシミュレーターはこれを気に入らなかったのですが、iPhoneはそれで問題ありませんでした。いずれにせよ、私のレコーディングにはそもそも2つのチャンネルが含まれるべきではないので、これを見つけたのは良いことです。

NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [NSNumber numberWithInt:AVAudioQualityMax], AVEncoderAudioQualityKey,
                                    [NSNumber numberWithInt:16], AVEncoderBitRateKey,
                                    [NSNumber numberWithInt:1], AVNumberOfChannelsKey,
                                    [NSNumber numberWithFloat:44100.0], AVSampleRateKey,
                                    nil];
于 2012-08-28T10:50:44.490 に答える
0

このリンクのコードを試してください。これで、オーディオを録音し、ドキュメントフォルダから取得できます。

オーディオファイルを録音してiPhoneにローカルに保存

于 2012-08-28T11:43:33.273 に答える