簡體   English   中英

用AVAudioRecorder重新錄音

[英]Re-recording with AVAudioRecorder

我可以使用下面的設置進行錄制-第一次可以運行,但是當我再次嘗試時,文件始終為8192字節,即不是正確的錄制。

-(void) startRecording
{

    NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
                          [NSNumber numberWithFloat: 11025.0f],                     AVSampleRateKey,
                          [NSNumber numberWithInt: kAudioFormatMPEG4AAC],           AVFormatIDKey,
                          [NSNumber numberWithInt: 2],                              AVNumberOfChannelsKey,
                          [NSNumber numberWithInt: AVAudioQualityLow],              AVEncoderAudioQualityKey,
                          nil];

    NSString *filenameBasedOnTime = [[NSDate date] description];

    if (_recordedFileURL) _recordedFileURL = nil;

   _recordedFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingString:filenameBasedOnTime]];

   NSError* error;

   if (_audioRecorder) _audioRecorder = nil;

   _audioRecorder = [[AVAudioRecorder alloc] initWithURL:_recordedFileURL settings:settings error:&error];
   _audioRecorder.delegate = self;

   if (error)
   {    
     return;
   }

   [_audioRecorder prepareToRecord];
   _audioRecorder.meteringEnabled = YES;
   [_audioRecorder record];
}

-(void) stopRecord
{
   [_audioRecorder stop];
}

- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag
{
    [self saveRecording];
}

-(void) saveRecording
{   
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:_recordedFileURL.relativeString]];

    NSLog(@"Recording data size = %i", [data length]);
}

如果有幫助的話,可以在UIPopoverController內部調用它。

自從發現問題是我失蹤了

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:NULL];

從這里iPhone SDK:調用[AVPlayer播放]后,AVAudioRecorder將不會錄制

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM