1

私はAppleScriptを介してiTunesを制御しており、HTTPサーバーからストリームを再生しています。私が使用しているコードは次のようになります。

tell application "iTunes"
  open location "your_url_here"
  play
end tell

正常に動作しますが、これらのURLが後でiTunesライブラリやプレイリストに表示されないようにしたいと思います。それを達成するためのトリックはありますか?

4

1 に答える 1

1

代わりに QuickTimePlayer を使用してストリームを再生することを検討しましたか?

tell application "QuickTime Player"
    open URL "http://www.a-1radio.com/listen.pls"
end tell

それはすべての iTunes フォーマットを開く必要があり、OsX のデフォルトとして付属しており、より「最小限」であり、トラックを保存しません。

(iTunes を使いたいと指定したことは知っているので、これは解決策ではないかもしれませんが、ソフトウェアがプリインストールされているので試してみる価値はありました)

EDITそれを非表示にするには、これが機能するようです:

tell application "QuickTime Player"
    -- don't use launch or activate
    -- on my mac with launch I see a flicker of the window
    set numberOfWindows to (count windows)
    repeat with i from 1 to numberOfWindows
        close front window
    end repeat
end tell

-- may add some delay here if it still flickers the window
    -- delay 1

tell application "QuickTime Player"
    open URL "http://www.a-1radio.com/listen.pls"
    set visible of every window to false
end tell

tell application "System Events"
    set visible of process "QuickTime Player" to false
end tell

-- must be called after the open URL command or won't work (no idea why)

ストリームを閉じるには、終了するか、ウィンドウを閉じます (再度開く場合は閉じてください):

tell application "QuickTime Player"

    -- here you can either:

    -- close all (will leave app open and hidden)
    set numberOfWindows to (count windows)
    repeat with i from 1 to numberOfWindows
        close front window
    end repeat

    -- or:

    quit -- or just quit (will close app so will need to hide again next time)
end tell

URLを開く前に非表示にすると、機能しません(理由はわかりません)。もちろん、ウィンドウは非表示であっても開いているので、誰かがドック アイコンをクリックすると、開いているすべてのウィンドウが表示されます。以前のストリームを停止したくない場合はrepeat -- end repeat、上部の最初の部分を削除しますset numberOfWindows to (count windows)が、役に立たないが、アクティブ化/起動コマンドを必要とせずにアプリをアクティブ化します

于 2012-12-06T11:53:55.797 に答える