7 Stimmen

Film zu iTunes hinzufügen mit Hilfe von Scripting Bridge

Ich möchte Scripting Bridge verwenden, um einen Film zu iTunes hinzuzufügen. Und am liebsten die Möglichkeit haben, zwischen einem 'Musikvideo' und einem 'Film' zu wählen. Ich kenne sowohl Objective-C als auch AppleScript, also dachte ich, es wäre nicht so schwer, aber ich kann es nicht herausfinden. Ich weiß, wie ich NSAppleScript dafür verwenden würde, aber ich zielen auf 10.5 oder später ab und habe gelesen, dass Scripting Bridge NSAppleScript überflüssig macht. Stimmt das?

Alles was ich habe ist

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

Was, wie Sie sehen können, nicht viel ist.

10voto

adib Punkte 8006

Schritt 1. Generieren Sie die Header-Datei iTunes.h:

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

Schritt 2. Der Code zum Hinzufügen einer Mediendatei sieht wie folgt aus:

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);

1voto

hasseg Punkte 6737

Sie sollten das Programm "Skript-Definition-Prozessor" (sdp) verwenden, um eine Header-Datei aus der Skriptdefinition von iTunes (.sdef) zu generieren (die Sie mit dem Programm sdef erhalten können):

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

Dies gibt Ihnen eine Datei namens iTunes.h. Dann fügen Sie diesen Header in Ihr Projekt ein und lesen Sie durch, was die iTunes-Skriptbrücken-Schnittstelle bietet.

Wenn es so aussieht, als ob Sie dies nicht mit der Skriptbrücke tun können (es ist möglich – nicht alles was über die AppleScript-Schnittstelle einer App gemacht werden kann, kann auch über die Skriptbrücke gemacht werden), schreiben Sie einfach ein AppleScript, um es stattdessen zu tun und führen Sie das dann in Ihrem Programm mit NSAppleScript aus.

0voto

Jeremy Johnstone Punkte 348

Für den zweiten Parameter wird ein Wiedergabelistenobjekt (oder nil wie bereits erwähnt) benötigt. Sobald Sie eine Instanz eines iTunesPlaylist*-Objekts auf irgendeine Weise abgerufen haben (je nach Bedarf gibt es verschiedene Möglichkeiten), können Sie es als zweiten Parameter übergeben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X