详解iOS应用中播放本地视频以及选取本地音频的组件用法

2020-01-15 15:47:45丽君

上述代码创建了一个 MPMediaPickerController 并设置了相关属性。其中初始化的时候有一个参数是媒体类型,媒体类型可以是下面这些值:
复制代码
enum {  
    // audio  
    MPMediaTypeMusic        = 1 << 0,  
    MPMediaTypePodcast      = 1 << 1,  
    MPMediaTypeAudioBook    = 1 << 2,  
    MPMediaTypeAudioITunesU = 1 << 3, // available in iOS 5.0  
    MPMediaTypeAnyAudio     = 0x00ff,  
      
    // video (available in iOS 5.0)  
    MPMediaTypeMovie        = 1 << 8,  
    MPMediaTypeTVShow       = 1 << 9,  
    MPMediaTypeVideoPodcast = 1 << 10,  
    MPMediaTypeMusicVideo   = 1 << 11,  
    MPMediaTypeVideoITunesU = 1 << 12,  
    MPMediaTypeAnyVideo     = 0xff00,  
      
    MPMediaTypeAny          = ~0  
};  
typedef NSInteger MPMediaType;  
2、委托函数
复制代码
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection{  
    /*insert your code*/  
    for (  MPMediaItem* itemin [mediaItemCollection items]) {  
    }  
    [selfdismissModalViewControllerAnimated:YES];  
    [mediaPicker release];  
}  
在上面这个函数里你可以处理所选取的内容。下面这个函数负责处理选中后取消的动作:
复制代码
-(void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{  
    /*insert your code*/  
    [selfdismissModalViewControllerAnimated:YES];  
    [mediaPicker release];  

3、显示
你可以在任何需要显示的时候调用下面代码:
复制代码
[selfpresentModalViewController:mpc animated:YES];  
4、关键点
看完上面的代码你可能明白了,但是又感觉没明白。为什么呢?看第一个回调函数就知道了,回调函数传参好像不认识。 MPMediaItemCollection 的对象的items 就是用户选择项的集合。每一项都是MPMediaItem 类的成员,并可以查询其属性值。属性太多,我就不一一列出了,你去看MPMediaItem类的头文件或者官方文档就明白了。