itunes automatisch starten.

der_rene

Aktives Mitglied
Thread Starter
Dabei seit
05.02.2004
Beiträge
337
Reaktionspunkte
3
moin moin.

ich nutze das programm romeo, um mein handy mit dem mac über bluetooth zu verbinden.

nun hab ich es eingerichtet, das wenn mein telefon in die reichweite kommt, das einmal der ton angeht, der bildschirmschoner aus und itunes startet. ebenso, wenn ich die reichweite verlasse, nur andersrum.

mein erster versuch in punkto itunes folgender script:
Code:
tell application "iTunes.app"
     play
end tell
funtionierte auch soweit. jedoch jedesmal wenn ich nun in reichweite komme, geht itunes an und spielt. das sollte es aber nur, wenn es vorher auch aktiv war und in pause ging beim verlassen der reichweite.

deswegen hab ich es nun auf das hin abgewandelt:
Code:
tell application "System Events"
         if(exists process "iTunes.app") then
                tell application "iTunes.app"
                         play
         end if
end tell

doch jetzt passiert nichts mehr bei itunes, weder wenn es aus war, noch wenn es lief.

wo ist hier der gedankenfehler ??
 
Der Name des Prozesses ist nicht "iTunes.app" sondern "iTunes".
Wenn man mit Bedingungen arbeitet, sollte man auch unbedingt verifizieren, ob die Bedingung funktioniert.
 
scheinbar muß da aber noch ein gedankenfehler drin sein. itunes fühlt sich immer noch nicht angesprochen.
zwar startet das programm nicht, wenn es vorher auch nicht lief, jedoch geht es nicht in pause und hinterher in play, wenn die reichweite verlassen und wieder erreicht wird. es klappte bislang nur mit dem ersten applescript, aber da startete das programm immer, egal was vorher für ein zustand herschte.

oder ist das mit dem sysem event falsch ? ich hab das woanders gesehen und dann übernommen. da sollte das adressbuch bluetooth aktivieren, wenn das adressbuch gestartet war.
 
Du kannst bei iTunes den Status abfragen und die Aktionen davon abhängig machen.
Im Befehlsverzeichnis von iTunes findest du unter "application" die Eigenschaft "player state", welche die Werte "stopped/playing/paused/fast forwarding/rewinding" annehmen kann.

In der Richtung würde ich mal weiter experimentieren.
 
ich hab den code nun mal so abgeändert, aber itunes läuft dennoch weiter. sicher ist was falsch in der 2. if-schleife, da ich nicht genau weiß, wie ich mit dem status umgehen muß.

Code:
tell application "System Events"
         if(exists process "iTunes") then
                tell application "iTunes"
                         if player state is playing then
                                   iTunes is paused
                         end if
         end if
end tell
 
ich hab jetzt noch mal 2 sachen abgewandelt, will aber auch nicht:
Code:
tell application "System Events"
         if(exists process "iTunes") then
                tell application "iTunes"
                         if player state is playing then
                                   paused
                         end if
                 end tell
        end if
end tell

auch hab ich im netz gesehen, das jemand drinnen noch eine variable gesetzt hat, kann mir aber nicht zusammenreimen, wie ich das wenn dann eingringen sollte.
Code:
tell application "Finder"
      if (exists of (every application process whose creator type is "hook")) is true then
         tell application "iTunes"
            if player state is playing then
               set my_paused to true
               pause
            else
               set my_paused to false
            end if
         end tell
      end if
   end tell
 
Zuletzt bearbeitet:
Zum Umgang mit dem Status:

Zunächst einmal mache es Sinn, den Status in einer Variablen abzulegen, da danach mehrere Möglichkeiten des Status getestet werden müssen.

Das Skript könnte dann so aussehen:

Code:
tell application "System Events"
   if (exists of (every process whose creator type is "hook")) is true then
      tell application "iTunes" -- evtl. iTunes.app
         set tPS to player state
         if tPS = stopped then
            play
         else if tPS = paused then
            play
         else
            pause
         end if
      end tell
   end if
end tell
 
das klappt ja wunderbar.

kannst du vielleicht noch kurz erklären, was das mit dem hook aufsich hat? wär nur zum verständnis für mich.

vielen dank dennoch für deine hilfe.
 
"hook" ist der creator type von iTunes. Man kann prüfen, ob ein bestimmtes Programm läuft, indem man nach dessen Namen oder eben nach dessen creator code fragt. Ich hab's nur verwendet, weil's in einem Beispiel von dir auch vorkam.
 
Zurück
Oben Unten