2

我希望能够从脚本中为 iTunes 选择输出声音设备(实际上任何编程语言都可以)。

目前,我能够使用 UI 元素脚本来点击按钮,该按钮提供菜单以选择扬声器:

tell application "System Events"
     tell window "iTunes" of process "iTunes"
        set chbtn to first UI element whose help is "Choose which speakers to use."
        tell chbtn
            click
            -- tell menu 1 to get every menu item
        end tell
     end tell
end tell

这可行,并出现带有可能选择的菜单。但是,applescript 似乎在单击命令之后停止,并且只有在我自己单击屏幕上的某个位置后才会发生进一步的操作(在代码中注释所在的位置)。如何防止这种情况并继续从此菜单中选择菜单项?

任何不恢复到 UI 脚本的解决方案也非常受欢迎!

4

2 回答 2

1

解决方案代码是

tell application "iTunes" to activate
tell application "System Events"
    tell window "iTunes" of process "iTunes"
        click (first UI element whose help is "Choose which speakers to use.")
        keystroke "DENON" & return -- Select "DENON" airplay entry
        -- keystroke "Computer" & return -- Select standard output
     end tell
end tell

但是,在click和之间有一个恼人的 4 秒延迟keystroke

于 2012-11-25T18:07:49.740 回答
0

我之前在使用 UI 脚本时遇到过延迟问题。您可以通过告诉脚本单击哪些元素来消除它。我没有外部扬声器,因此元素的名称和属性不在我的计算机上。获取有关可用元素的更多信息的一种简单方法是使用(不是免费的,但非常棒的)UI 浏览器http://pfiddlesoft.com/uibrowser/。获取有关元素的更多信息的一种不太简单但免费的方法是使用:

tell application "System Events"
    tell window "iTunes" of process "iTunes"
        set chbtn to first UI element whose help is "Show or hide item artwork and video viewer."
        tell chbtn
            entire contents
        end tell
end tell

结束告诉

于 2012-11-28T14:04:11.723 回答