2010-03-18 12 views
2

Je souhaite permettre à l'utilisateur de sélectionner un fichier vidéo depuis la bibliothèque iPod de l'appareil (pour pouvoir le lire dans ma propre application). Est-ce possible? Je pensais utiliser MPMediaPickerController mais je ne suis pas sûr si elle est capable de sélectionner des fichiers vidéo ou simplement des fichiers audio.MPMediaPickerController pour la sélection de fichiers vidéo

Toute aide sera grandement appréciée.

Merci,

Répondre

0

Le sélecteur a une propriété appelée mediaTypes, c'est une énumération déclarée here, comme ceci:

enum { 
    // audio media types 
    MPMediaTypeMusic  = 1 << 0, 
    MPMediaTypePodcast  = 1 << 1, 
    MPMediaTypeAudioBook = 1 << 2, 
    MPMediaTypeAnyAudio  = 0x00ff, 

    // generic media type 
    MPMediaTypeAny   = ~0 
}; 

Comme vous pouvez le voir rien indique beeing quelque chose de non-audio, à l'exception MPMediaTypeAny mais les docs disent

MPMediaTypeAny Si ensemble, les médias ite m contient un type non spécifié d'audio .

Cela signifie uniquement audio, désolé. :(

+0

Eh bien, pas la réponse que j'espérais, mais il ne répond à ma question. Merci! –

+0

Voir ci-dessous pour ce faire dans iOS 5 – ransomweaver

0

faire comme ceci:

IImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
    imagePicker.delegate = self; 
    imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
    // UIImagePickerControllerSourceTypeSavedPhotosAlbum;// UIImagePickerControllerSourceTypePhotoLibrary 
    imagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePicker.sourceType]; 
    imagePicker.allowsEditing = NO; 
+4

Cela fonctionnera pour la vidéo enregistrée par l'utilisateur, pas vidéo dans la bibliothèque de l'ipod – ransomweaver

1

Il semble que cela est possible dans iOS 5 avec MPMediaPickerController, qui permet désormais la définition de ces types:.

// video media types 
    MPMediaTypeMovie  = 1 << 8, 
    MPMediaTypeTVShow  = 1 << 9, 
    MPMediaTypeVideoPodcast = 1 << 10, 
    MPMediaTypeMusicVideo = 1 << 11, 
    MPMediaTypeVideoITunesU = 1 << 12, 
    MPMediaTypeAnyVideo  = 0xff00, 

qui sont os 5 seulement

Une fois que vous avez votre collection d'articles, vous devez accéder à l'url:

MPMediaItem * item = .... 
NSString *url = [item valueForProperty:@"MPMediaItemPropertyAssetURL"]; 

Et cette URL ne peut être utilisée qu'avec AV Foundation, donc utilisez AVPlayer, pas MPMoviePlayerController.

De la documentation:

MPMediaItemPropertyAssetURL 
A URL pointing to the media item, from which an AVAsset object (or other 
URL-based AV Foundation object) can be created, with any options as desired. 
Value is an NSURL object. 
The URL has the custom scheme of ipod-library. For example, a URL might look 
like this: 
    ipod-library://item/item.m4a?id=12345 
Usage of the URL outside of the AV Foundation framework is not supported. 
Available in iOS 4.0 and later.