2012-02-27 13 views
5

मैं नए वीडियो मीडिया प्रकारों का उपयोग करके अपने आईपॉड लाइब्रेरी में संग्रहीत वीडियो ब्राउज़ करने की कोशिश कर रहा हूं। किसी भी वीडियो प्रकार के साथ मुझे यह त्रुटि कंसोल पर मिलती है:वीडियो मीडिया प्रकारों के साथ MPMediaPickerController काम नहीं कर रहा

Warning: Unsupported media types (1024), using MPMediaTypeAny. 

इस त्रुटि के बाद, पिकर केवल ऑडियो प्रकार दिखाता है। (MediaPlayer.framework/MediaItem.h में परिभाषित)

संदर्भ के लिए, इन नए मीडिया iOS5.0 में उपलब्ध प्रकार हैं:

// video (available in iOS 5.0) 
MPMediaTypeMovie  = 1 << 8, 
MPMediaTypeTVShow  = 1 << 9, 
MPMediaTypeVideoPodcast = 1 << 10, 
MPMediaTypeMusicVideo = 1 << 11, 
MPMediaTypeVideoITunesU = 1 << 12, 
MPMediaTypeAnyVideo  = 0xff00, 

उत्तर

11

आप सफलतापूर्वक जैसे कोड में फिल्म पुस्तकालय क्वेरी कर सकते हैं:

MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithInteger:MPMediaTypeMovie] forProperty:MPMediaItemPropertyMediaType]; 

MPMediaQuery *query = [[MPMediaQuery alloc] init]; 
[query addFilterPredicate:predicate]; 

NSArray *items = [query items]; 

for (MPMediaItem* item in items) 
{ 
    NSString* title = [item valueForProperty:MPMediaItemPropertyTitle]; 

    url = [item valueForProperty:MPMediaItemPropertyAssetURL]; 

} 

आपको सभी मूवी खिताब देखना चाहिए। आईओएस 5 और आईपैड 2 पर यह मेरे लिए ठीक है। हालांकि मुझे अभी भी आपकी समस्या है। एक वर्कअराउंड उपरोक्त कोड परिणामों को अपने मोडल व्यू में डाल रहा है।

+0

शानदार! मुझे लगता है कि ऐप्पल कुछ बिंदु पर इसके लिए यूआई प्रदान करेगा। लेकिन यह काम करता है। – bentford

+0

हाय, क्या आप वास्तव में अपना यूआरएल प्राप्त कर सकते हैं? मैं शीर्षक को प्रिंट कर सकता हूं, लेकिन यूआरएल शून्य है, मैं फिल्मों के यूआरएल प्राप्त करना चाहता हूं। क्या आप जानते हैं कि यह संभव है? –

1

स्विफ्ट 3 प्रपत्र @ जॉन Goodstadt

import MediaPlayer 

let predicate = MPMediaPropertyPredicate(value: MPMediaType.any.rawValue, forProperty: MPMediaItemPropertyMediaType) 
    let query = MPMediaQuery() 
    query.addFilterPredicate(predicate) 
    let items = query.items 
    for item in items! { 
     DLog("title: \(item.title); url: \(item.assetURL)") 
    } 

तो आप प्रकार बदल सकते हैं के रूप में आप की जरूरत है।

संबंधित मुद्दे