2009-09-04 22 views
10

Kullanıcıyı fotoğraf albümüne yönlendirdiğim ve ardından paylaşılacak veya karşıya yükleyeceği videoyu seçtiğim iPhone 3GS'de basit bir video yükleyici uygulaması yazıyorum.Film için UIImagePickerController Öğe

videoPickerCtrl = [[UIImagePickerController alloc] init]; 
videoPickerCtrl.delegate = self; 
videoPickerCtrl.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
videoPickerCtrl.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:videoPickerCtrl.sourceType]; 

videoPickerCtrl.allowsImageEditing = NO; 
videoPickerCtrl.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 
[window addSubview:videoPickerCtrl.view]; 

Ama kontrolör çağrılır kez sunulmuştur rahatsız edici bir görüntü kırpma arayüz olduğunu görebilirsiniz: Aşağıdaki şekilde UIImagePickerController kullanıyorum. "Seç" e bastığımda, kırpma kontrollerine dokunup dokunmadığımı farketmez, video her zaman kırpılır. Bu kırpma arayüzünü aşmanın ve doğrudan video dosyasının yolunu bulmanın bir yolu var mı?

+0

allowedImageEditing özelliği iOS 3.1 – kamleshwar

+0

'dan yoksundur, yalnızca dosyayı uygulamanın sanal alanının tmp dizinine kopyalamak zaman alır. orignal dosyası verilmez, sadece bir kopya ... böylece ilerleme çubuğu dosyanın kopyalanmasıdır. – n3wscott

cevap

2

allowsImageEditing = NO; yerine (3.1'de kullanımdan kaldırılmıştır) allowsEditing = NO; ayarlamalısınız. Ardından, seçilen film 10 dakikadan uzun olmadığı sürece kırpma arabirimi görünmemelidir (dokümanlar arasından: "Maksimum film süresi 10 dakikadır. Bir kullanıcı 10 dakikadan uzun süren bir filmi seçerse, bunlar düzeltmeye zorlanır Bunu kaydetmeden önce. ").

1

Tamam, SDK belgelerine dikkatlice baktıktan sonra uzun süre çalışıyorum. 3GS'mdeki Camera Roll dizininden videolar alabiliyorum. Ancak, UIImagePickerController'ın Camera Roll dışındaki dizinlerden video seçebileceği herhangi bir yol bulamıyorum (örneğin, kullanıcının videoları iTunes üzerinden senkronize ettiği cihazın Fotoğraf Kitaplığı). SDK'da bunu yapmak için standart bir yol var mı?

+0

Bu bir cevap değil. – memmons

+0

bunu biliyoruz tamam mı ?? – humblePilgrim

2

İlginç bir sorun. Bu, başka birinin buna bakması gerektiğinde bilgi içindir. IPad OS 3.2'de, video çekerken bazı sorunlar buldum, ancak seçici çalışır ve sadece kamera rulosundan değil albümlerden video seçebilirim.

İşte benim çalışma kod frag var

çağrı burada

NSArray *mediaTypesAllowed = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
    [picker setMediaTypes:mediaTypesAllowed]; 

    picker.delegate = self; 
    picker.allowsEditing = NO; 
    picker.wantsFullScreenLayout = YES; 
    if(!IsEmpty(self.editBackgroundPopover)){ 
     [self.editBackgroundPopover setContentViewController:picker animated:YES]; 
    } 

Ve temsilci yöntemini ben seçiciden almak Video URL'sini forma sahiptir Ancak

imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    [self.editBackgroundPopover dismissPopoverAnimated:true]; 

NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 

    //not production code, do not use hard coded string in real app 
    if ([ mediaType isEqualToString:@"public.image" ]) {                           
     NSLog(@"Picked a photo"); 
    } 
    //not production code, do not use hard coded string in real app 
    else if ([ mediaType isEqualToString:@"public.movie" ]){ 
     NSLog(@"Picked a movie at URL %@", [info objectForKey:UIImagePickerControllerMediaURL]); 
     NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL]; 
     NSLog(@"> %@", [url absoluteString]); 
    } 

    [[picker self] dismissModalViewControllerAnimated:YES]; 
} 

olduğunu

file:/lo calhost/özel/var/mobile/Applications/C6FAC491-D27D-45A6-B805-951727ED2CEC/tmp/-Tmp-/trim.KOzqps.MOV

Yani video aracılığıyla işleniyor olabilir bana bakıyor Videoyu bir bütün olarak seçsem bile kırpma kodu. Ayrıca, iTunes aracılığıyla yüklediğimde m4v türünde olan filmin MOV cihazında olduğu gibi, elbette cihazın üzerinde oynatılamayan bir MOV olduğunu da unutmayın! URL'yi çalmayı denedim ama "Bu tür bir film çalınamayacak" diyen bir uyarı aldım.

Apple'ın burada ne oynadığını tam olarak anlayamıyorum, API gerçekten de Fotoğraf kitaplığından video yükleme ve oynatma yolu.

Umarız IOS 4 daha yakında olacak, ancak iPad uygulamam için hala aylar sürecek.

+0

sorunları iOS 4.2 tarafından çözülmedi. Onları hala görüyorum.Bu işi yapmak için herhangi bir yol buldunuz mu? – SpaceDog

+0

Merhaba Guys bunun için bir çözüm var mı? –

İlgili konular