3

テストコードは次のとおりです。

tell application "Spotify"
    set playerState to player state as string
end tell
display dialog playerState

AppleScript エディタからは問題なく動作します。ただし、スクリプトをアプリとしてエクスポートすると、次のようになります。 ここに画像の説明を入力

なぜこうなった?

4

3 に答える 3

7

Spotify は定数を文字列に強制していないようです。AppleScript Editor でスクリプトを実行している場合のように、エディタはアプレットから強制できないため、4 文字の定数コードが返されます。プレーヤーの状態の値を文字列としてテストすることはできないため、定数自体に対してテストしてみてください。

property spotPause : «constant ****kPSp»
property spotPlay : «constant ****kPSP»

tell application "Spotify" to set playerState to player state

if playerState = spotPause then
    display dialog "paused"
else if playerState = spotPlay then
    display dialog "playing"
end if
于 2012-11-18T00:31:49.833 に答える
3

プレーヤーの状態を取得するには、このコードを使用することをお勧めします。正確な定数値を知る必要はありません。OS X 10.13 で動作

tell application "Spotify"
    if player state is playing then
        display dialog "Player running"
    else if player state is paused then
        display dialog "Player paused"
    else if player is stopped then
        display dialog "Player is stopped"
    else
        display dialog "Unknow state"
    end if
end tell
于 2018-04-09T09:53:26.087 に答える