2010-05-11 12 views
7

का उपयोग कर आईट्यून्स में मूवी जोड़ें मैं आईट्यून्स में एक मूवी जोड़ने के लिए स्क्रिप्टिंग ब्रिज का उपयोग करना चाहता हूं। और अधिमानतः मुझे 'संगीत वीडियो' और 'मूवी' के बीच चुनने देना। मैं उद्देश्य-सी और ऐप्पलस्क्रिप्ट दोनों को जानता हूं इसलिए मैंने सोचा कि यह कठिन नहीं होगा लेकिन मैं इसे समझ नहीं सकता। मुझे पता है कि मैं इसके लिए एनएसएप्लस्क्रिप्ट का उपयोग कैसे करूंगा लेकिन मैं 10.5 या बाद में लक्ष्यीकरण कर रहा हूं और पढ़ रहा हूं कि स्क्रिप्टिंग ब्रिज ने एनएसपीप्लेस्क्रिप्ट को अप्रचलित किया है। क्या वह सही है?स्क्रिप्टिंग ब्रिज

सभी मुझे मिल गया

iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier: @"com.apple.iTunes"]; 

कौन सा है, जैसा कि आप देख सकते हैं, बहुत ज्यादा नहीं सब पर है।

उत्तर

1

आप "पटकथा परिभाषा प्रोसेसर" (sdp) कार्यक्रम (.sdef) फ़ाइल (जो आप sdef प्रोग्राम का उपयोग कर सकते हैं) पटकथा परिभाषा आइट्यून्स 'से एक हेडर फाइल उत्पन्न करने के लिए उपयोग करना चाहिए:

sdef /Applications/iTunes.app | sdp -fh --basename "iTunes" 

यह आपको iTunes.h नामक फ़ाइल देगी। फिर आप उस प्रोजेक्ट को अपनी प्रोजेक्ट में शामिल करते हैं और यह देखने के लिए पढ़ते हैं कि आईट्यून्स स्क्रिप्टिंग ब्रिज इंटरफ़ेस क्या प्रदान करता है।

यदि ऐसा लगता है कि आप इसे स्क्रिप्टिंग पुल के साथ ऐसा करने में सक्षम नहीं होंगे (यह संभव है - ऐप के ऐप्पलस्क्रिप्ट इंटरफ़ेस के माध्यम से किए जा सकने वाले सभी चीजें स्क्रिप्टिंग ब्रिज के माध्यम से भी नहीं की जा सकती हैं), बस आगे बढ़ें और इसके बजाए ऐसा करने के लिए ऐप्पलस्क्रिप्ट लिखें, और उसके बाद NSAppleScript के साथ अपने प्रोग्राम में निष्पादित करें।

+0

मैंने पहले ही एसडीपी चीज की है। और मुझे लगता है कि जिस विधि की मुझे आवश्यकता है वह है: से:। लेकिन इसके बारे में कोई दस्तावेज नहीं है। – Jeroen

+0

यदि यह स्क्रिप्टिंग पुल के माध्यम से नहीं किया जा सकता है, तो आप [appscript] (http://appscript.sourceforge.net/) या इसके बजाय केवल एक सादे पुराने ऐप्पलस्क्रिप्ट को आजमा सकते हैं। – hasseg

+0

यह स्क्रिप्टिंग ब्रिज के माध्यम से निश्चित रूप से संभव है: मैंने पाइथन के साथ कई बार समान चीजें की हैं। – wbg

10

चरण 1. iTunes.h हेडर फाइल उत्पन्न करें:

sdef /Applications/iTunes.app | sdp -fh --basename "iTunes" 

चरण 2. एक मीडिया फाइल जोड़ने के लिए कोड लग रहा है निम्नलिखित की तरह:

NSString* sourceMediaFile = ...; 
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; 
iTunesTrack * track = [iTunes add:[NSArray arrayWithObject:[NSURL fileURLWithPath:sourceMediaFile]] to:nil]; 
NSLog(@"Added %@ to track: %@",sourceMediaFile,track); 
0

दूसरा पैरामीटर के लिए, यह एक प्लेलिस्ट लेता है ऑब्जेक्ट (या पहले उल्लिखित शून्य)। एक बार जब आप किसी iTunesPlaylist * ऑब्जेक्ट का उदाहरण किसी माध्यम से प्राप्त कर लेते हैं (आपकी ज़रूरतों के आधार पर कई होते हैं), तो आप इसे दूसरे पैरामीटर के रूप में पास कर सकते हैं।

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