2009-08-06 13 views
11

का उपयोग कर रहा mp3 iPhone पर संग्रहीत फ़ाइलों है और मैं अपने आवेदन करना चाहिए ID3 जानकारी, सेकंड में यानी लंबाई, कलाकार, आदि किसी को भी इस या क्या कैसे करना है पता है पढ़ने के लिए सक्षम होने के लिए उद्देश्य-सी में उपयोग करने के लिए लाइब्रेरी?एमपी 3 जानकारी पढ़ना उद्देश्य सी

आपके विचारों की बहुत सराहना की जाती है।

+2

जब आप कहते हैं कि आपके पास फोन पर संग्रहीत एमपी 3 फ़ाइलें हैं, तो क्या आपका मतलब है कि आपके एप्लिकेशन में अपने सैंडबॉक्स में कहीं भी एमपी 3 फ़ाइलें हैं (या तो आपके बंडल में या जिसे आपने डाउनलोड किया है), या क्या आपका मतलब है कि उपयोगकर्ता ने उन्हें आईट्यून्स के माध्यम से लोड किया है? डिवाइस पर गानों के बारे में जानकारी के लिए मीडिया प्लेयर से पूछताछ फाइलों की जानकारी को पार्स करने की तुलना में एक पूरी तरह से अलग समस्या है। –

+0

हाय लुइस, एमपी 3 फ़ाइलें वेब से डाउनलोड की गई फ़ाइलें हैं और मेरे आवेदन के दस्तावेज़ फ़ोल्डर में संग्रहीत हैं। भ्रम की ओर इशारा करते हुए धन्यवाद। टोनी – TonyNeallon

+0

यह पहले से ही इस SO प्रश्न में उत्तर दिया गया था: [http://stackoverflow.com/questions/1138118/how-to-extract-id-tags-from-mp3-files-in-cocoa ](http:// stackoverflow.com/questions/1138118/how-to-extract-id-tags-from-mp3-files-in-cocoa) –

उत्तर

19

आईडी 3 जानकारी ऑडियो फ़ाइल की संपत्ति को AudioFileGetProperty ऑडियोटूलबॉक्स ढांचे के फ़ंक्शन का उपयोग करके पुनर्प्राप्त किया जा सकता है।

एक विस्तृत विवरण पर iphonedevbook.com

संपादित करें उपलब्ध है: मूल लिंक अब नीचे है। InformIT में कुछ समान नमूना कोड है, लेकिन यह पूर्ण नहीं है।

+0

प्रदान किया गया लिंक अनुमतियों के लिए पूछता है :( –

+1

पेज अब उपलब्ध नहीं है। मैंने एक समान, लेकिन कम पूर्ण लिंक के साथ प्रतिस्थापित किया है। – rpetrich

+2

[यह स्टैक ओवरफ्लो उत्तर स्पष्ट है और स्रोत कोड देता है।] (Http://stackoverflow.com/a/17478117/59913) –

3

वहां पर कई आईडी 3 पार्सिंग लाइब्रेरी नहीं हैं जो जीपीएल नहीं हैं। उद्देश्य-सी framework पर है जो स्थिर रूप से लिंक होने पर आईफोन पर काम करने के लिए संशोधित किया जा सकता है, लेकिन यह एलजीपीएल है। एक स्थिर रूप से जुड़ी बाइनरी के साथ एलजीपीएल की शर्तों को पूरा करने के लिए आपको पर्याप्त मध्यवर्ती घटक प्रदान करना होगा कि कोई व्यक्ति इसे पुस्तकालय के अपने संस्करण के साथ रिलिक कर सकता है, जो एक आईफोन ऐप के लिए मुश्किल (लेकिन असंभव नहीं) है। बेशक, क्योंकि मैं ऐसी स्थिति में नहीं रहा हूं जहां मुझे ऐसा करना पड़ा है, मैंने वास्तव में एक वकील के साथ इस पर चर्चा नहीं की है, और चूंकि मैं एक नहीं हूं, इसलिए आपको इसे आधिकारिक के रूप में नहीं लेना चाहिए।

यदि आप किसी वकील से परामर्श करने की तरह महसूस नहीं करते हैं तो आपकी सबसे अच्छी शर्त libID3 जैसी अधिक उदार लाइसेंस प्राप्त सी लाइब्रेरी का उपयोग करना है और कुछ उद्देश्य सी कक्षाओं में लपेटना है। मैं सभी स्थिर पुस्तकालय निर्माण और लिंक मुद्दों से निपटने के बजाय कोड सहित सीधे सीधे अनुशंसा करता हूं, लेकिन यह सिर्फ एक व्यक्तिगत शैली की बात है।

मीडिया प्लेयर ढांचे में
+1

http://www.id3.org पर उपलब्ध पुस्तकालयों का एक सिंहावलोकन था। लेकिन ऐसा लगता है कि वे वर्तमान में नीचे हैं। आप Google कैश किए गए संस्करण को आजमा सकते हैं: http://209.85.135.132/search?q=cache:khgjN7xyYeoJ:www.id3.org/Implementations+id3+c&hl=de&client=safari&strip=1 –

+0

एलजीपीएल लाइब्रेरी को लिंक करते समय आपके आवेदन का पूरा स्रोत एलजीपीएल लाइसेंस की शर्तों का पालन करने के लिए जारी किया जाना चाहिए। – rpetrich

+1

LGPLv2.1 को स्रोत कोड जारी करने की आवश्यकता नहीं है, इसके लिए इंटरमीडिएट ऑब्जेक्ट्स की आवश्यकता होती है "यदि आप लाइब्रेरी के साथ अन्य कोड को लिंक करते हैं, तो आपको प्राप्तकर्ताओं को पूर्ण ऑब्जेक्ट फाइलें प्रदान करनी होंगी, ताकि वे उन्हें परिवर्तन करने के बाद लाइब्रेरी से रिलिकिंक कर सकें पुस्तकालय और इसे पुन: संकलित करना। और आपको उन्हें इन शर्तों को दिखाना चाहिए ताकि वे अपने अधिकारों को जान सकें।" –

5

देखो:

यह जरूरी है कि प्रश्न में एमपी 3 फोन पर आइपॉड पुस्तकालय का हिस्सा है।

उदाहरण के लिए, फोन पर प्रत्येक मीडिया फ़ाइल का नाम निर्धारित करना (फिल्में, पॉडकास्ट इत्यादि सहित)।):

MPMediaQuery *everything = [[MPMediaQuery alloc] init]; 

NSArray *itemsFromGenericQuery = [everything items]; 
for (MPMediaItem *item in itemsFromGenericQuery) { 
    NSString *itemTitle = [item valueForProperty:MPMediaItemPropertyTitle]; 
    // ... 
} 

ऐसा लगता है कि निम्नलिखित गुण उपलब्ध हैं:

  • MPMediaItemPropertyMediaType
  • MPMediaItemPropertyTitle
  • MPMediaItemPropertyAlbumTitle
  • MPMediaItemPropertyArtist
  • MPMediaItemPropertyAlbumArtist
  • MPMediaItemPropertyGenre
  • MPMediaItemPropertyComposer
  • MPMediaItemPropertyPlaybackDuration
  • MPMediaItemPropertyAlbumTrackNumber
  • MPMediaItemPropertyAlbumTrackCount
  • MPMediaItemPropertyDiscNumber
  • MPMediaItemPropertyDiscCount
  • MPMediaItemPropertyArtwork
  • MPMediaItemPropertyLyrics
  • MPMediaItemPropertyIsCompilation

मीडिया प्लेयर ढांचे के माध्यम से जा रहा कुछ हद तक मुश्किल हो जाएगा बिना ऐसा करने से, और एक बाहरी ढांचे की आवश्यकता होगी।

+2

वह ई मीडिया प्लेयर का उपयोग नहीं कर सकता क्योंकि फाइलें अपने ऐप्स दस्तावेज़ फ़ोल्डर में एमपी 3 हैं, संगीत नहीं जो सिस्टम व्यापक संगीत संग्रह का हिस्सा है। –

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