视频仅在第一次尝试时不录制音频

Video not recording audio on first attempt only

我正在使用 UIImagePickerController 获取图像和视频。我遇到一个奇怪的问题,在录制视频时,第一次拍摄不播放声音。第一次录音后的后续录音就好了。当应用程序关闭并从切换器中滑出时,会出现同样的问题。否则,在第一次尝试后,它会正常录制声音和视频。

我没有在 iPad 2 上遇到过这个问题,但我遇到过这个问题,并且可以在两个不同的 iPhone 5 上 100% 地重复它。所有设备都是 运行 iOS 8.2。

我正在直接通过 Apple 的录音界面测试回放,然后再回到我的应用程序。我是这样发布的:

-(void)imageFromCamera:(NSString *)mediaType
{
    self.mediaPicker = [[UIImagePickerController alloc]init];

    if ([mediaType isEqualToString:@"camera"] || [mediaType isEqualToString:@"video"]) self.mediaPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    else self.mediaPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

    if ([mediaType isEqualToString:@"video"])
    {
        self.mediaPicker.mediaTypes = [[NSArray alloc]initWithObjects:(NSString *)kUTTypeMovie, nil];
        [self.mediaPicker setVideoMaximumDuration:30.0f];
    }

    self.mediaPicker.delegate = self;
    self.mediaPicker.allowsEditing = YES;
    [self presentViewController:self.mediaPicker animated:YES completion:nil];
}

当您拍摄视频时,您可以选择在返回应用程序之前立即检查它,因此,除了我启动选择器之外,这直接发生在 Apple 的框架中。但是,如果我退出应用程序并通过 Apple 相机应用程序进行录制,则不会发生这种情况。此外,该应用程序可以在第一次播放视频时没有问题,所以这只是在录制时,而且只有这些 iPhone 5 而不是我也有的 iPad 2。

我找到了答案。在应用程序的其他地方,我使用 AVAudio 并且我有一个 "prepareToRecord" 集。这是为了能够录制音频消息。这似乎干扰了在选择器中录制视频的第一次尝试。为什么 iPad 上没有发生这种情况有点神秘。但是,删除 prepareToRecord 解决了这个问题。