«Этот формат фильма не поддерживается» - странная проблема с UIImagePickerController на iPad (iOS v 4.3) - PullRequest
0 голосов
/ 15 ноября 2011

Моим основным требованием является захват видео с помощью UIImagePickerController. Запись видео должна автоматически прекратиться после записи 10 секунд видео.

Я получаю довольно странную ошибку на iPad 2 (iOS версии 4.3) - «Этот формат фильма не поддерживается», когда видео достигает максимальной продолжительности на iPad2.

Вот мой кусок кода. Код отлично работает на iPhone, но выдает: «Этот формат фильма не поддерживается», когда видео достигает максимальной продолжительности на iPad2.

Любая помощь будет принята с благодарностью.

(void) launchCamera : (BOOL) bAlbum         
    {   
    UIImagePickerController * pImgPicker = [[UIImagePickerController alloc] init];  
    pImgPicker.delegate = self;

    pImgPicker.mediaTypes =[UIImagePickerController availableMediaTypesForSourceType:pImgPicker.sourceType];
    if(m_bRecordVideo)
    {
        pImgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        [pImgPicker setVideoQuality: UIImagePickerControllerQualityTypeMedium];
        [pImgPicker setCameraCaptureMode: UIImagePickerControllerCameraCaptureModeVideo];
        [pImgPicker setVideoMaximumDuration:10];
    }
    else
    {
        pImgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        [pImgPicker setCameraCaptureMode: UIImagePickerControllerCameraCaptureModePhoto];
    }

    [self presentModalViewController:pImgPicker animated:YES];
    [pImgPicker release];
}

1 Ответ

0 голосов
/ 06 апреля 2012

Я нашел решение вышеуказанной проблемы.

Следующая строка устранила проблему.

pImgPicker.mediaTypes = [[[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil] autorelease];

Вот обновленный код.

-(void) launchCamera : (BOOL) bAlbum
{
    UIImagePickerController * pImgPicker = [[UIImagePickerController alloc] init];
    pImgPicker.delegate = self;

    pImgPicker.mediaTypes =[UIImagePickerController availableMediaTypesForSourceType:pImgPicker.sourceType];
    if(m_bRecordVideo) 
    {
        pImgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        pImgPicker.mediaTypes = [[[NSArray alloc] initWithObjects:(NSString*) kUTTypeMovie, nil] autorelease];

        [pImgPicker setVideoQuality: UIImagePickerControllerQualityTypeMedium];
        [pImgPicker setCameraCaptureMode: UIImagePickerControllerCameraCaptureModeVideo];
        [pImgPicker setVideoMaximumDuration:10];
    }
    else
    {
        pImgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        [pImgPicker setCameraCaptureMode: UIImagePickerControllerCameraCaptureModePhoto];
    }

    [self presentModalViewController:pImgPicker animated:YES];
    [pImgPicker release];
}

Спасибо, --Прем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...