2

私は、学校の演劇のために iTunes を制御するためのスクリプトに取り組んでいます。問題は、if ステートメントを通過させることができないことです。変数を設定しますselectedOptionが、いったん ifs と else ifs をホットすると、それらをスキップするように見えます。

--repeat
activate
set myOption to {"Start Play", "Scene 1", "Between Scenes", "Scene 2", "Next Song", "End Play"}
set selectedOption to {choose from list myOption}
---------End Play---------
if selectedOption is "End Play" then
    tell application "iTunes"
        set currentvolume to the sound volume
        if (player state is playing) then
            -- if so, fade out the current track
            repeat with i from currentvolume to 0 by -2
                set the sound volume to i
                delay 0.1
            end repeat
            stop
        end if
    end tell
    display dialog "Volume Back Up?" buttons {"Full", "80", "End"} default button "Full"
    if the selectedOption is "Full" then
        tell application "iTunes"
            set sound volume to 100
        end tell
    else if the selectedOption is "80" then
        tell application "iTunes"
            set sound volume to 80
        end tell
    end if
    exit repeat
    ---------Scene 1---------
else if the selectedOption is "Scene 1" then
    tell application "iTunes"
        -- get the initial volume
        set currentvolume to the 60
        -- are we playing?
        if (player state is playing) then
            -- if so, fade out the current track
            repeat with i from currentvolume to 0 by -2
                set the sound volume to i
                delay 0.02
            end repeat
            next track
        end if
        -- now, regardless of whether we were playing or not, fade in the next track
        set the sound volume to 0
        play playlist "2012 Play Christmas"
        repeat with j from 0 to currentvolume by 2
            set the sound volume to j
            delay 0.02
        end repeat
        --do shell script "open ~/Desktop/2.app"
        exit repeat
    end tell
    ---------Between Scenes---------
else if the selectedOption is "Between Scenes" then
    tell application "iTunes"
        -- get the initial volume
        set currentvolume to the 60
        -- are we playing?
        if (player state is playing) then
            -- if so, fade out the current track
            repeat with i from currentvolume to 0 by -2
                set the sound volume to i
                delay 0.02
            end repeat
            next track
        end if
        -- now, regardless of whether we were playing or not, fade in the next track
        set the sound volume to 0
        play playlist "2012 Play Intermission"
        repeat with j from 0 to currentvolume by 2
            set the sound volume to j
            delay 0.02
        end repeat
    end tell
    ---------Scene 2---------
else if the selectedOption is "Scene 2" then
    tell application "iTunes"
        -- get the initial volume
        set currentvolume to the 60
        -- are we playing?
        if (player state is playing) then
            -- if so, fade out the current track
            repeat with i from currentvolume to 0 by -2
                set the sound volume to i
                delay 0.02
            end repeat
            next track
        end if
        -- now, regardless of whether we were playing or not, fade in the next track
        set the sound volume to 0
        play playlist "2012 Play Christmas2"
        repeat with j from 0 to currentvolume by 2
            set the sound volume to j
            delay 0.02
        end repeat
    end tell
    ---------Next Song---------
else if the selectedOption is "Next Song" then
    tell application "iTunes"
        -- get the initial volume
        set currentvolume to the 60
        -- are we playing?
        if (player state is playing) then
            -- if so, fade out the current track
            repeat with i from currentvolume to 0 by -2
                set the sound volume to i
                delay 0.02
            end repeat
            next track
        end if
        -- now, regardless of whether we were playing or not, fade in the next track
        set the sound volume to 0
        play
        repeat with j from 0 to currentvolume by 2
            set the sound volume to j
            delay 0.02
        end repeat
    end tell
    ---------Begin Play---------
else if the selectedOption is "Begin Play" then
    tell application "iTunes"
        set sound volume to 100
        play playlist "2012 Play Intro"
    end tell
end if
--end repeat

正しいステートメントを選択できるようになるまで、繰り返しをコメントアウトしました。

4

1 に答える 1

3

試す:

set selectedOption to {choose from list myOption} as text

以来

set selectedOption to {choose from list myOption}
return class of selectedOption

リストです。

于 2012-05-07T13:52:19.587 に答える