我想要制作一个脚本,需要检查是否有连接和使用的播放设备
我试过在很多地方搜索,但我似乎无法找到任何关于此的文件,有没有人知道我会怎么做?
为了进一步澄清,我想要一个类似于以下内容的脚本:
if airplay device is in use then //(pause for longer)
else //(the script that is already there)
这是我目前的代码
global okflag
set okflag to false
set front_app to (path to frontmost application as Unicode text)
-- check if iTunes is running
tell application "System Events"
if process "iTunes" exists then
set okflag to true --iTunes is running
end if
end tell
if okflag is true then
set CV to output volume of (get volume settings)
tell application "iTunes"
if (player state is playing) then
set currentVolume to the sound volume
set Timer to ""
display dialog "Sleep Time (Minutes)" with title "iTunes Timer" default answer Timer buttons {"Cancel", "OK"} default button 2
set Timer to text returned of the result
set the_button to button returned of (display dialog "Shutdown after countdown?" with title "iTunes Timer" buttons {"No", "Yes"} default button 2)
delay Timer * 60
repeat with i from currentVolume to 0 by -1
set the sound volume to i
delay 0.6
end repeat
pause
set player position to (player position - 60)
--Restore original volume
set the sound volume to currentVolume
if the_button is "Yes" then tell application "System Events"
shut down
end tell
else
display dialog "Nothing Playing" with title "iTunes Timer" giving up after 2
end if
end tell
else
display dialog "iTunes is not running" with title "iTunes Timer" giving up after 2
end if
编辑:添加了申请,以澄清我需要找到的内容
答案 0 :(得分:0)
嗯。
但是如果你是从iTunes流媒体说的话,没有锻炼如何获得状态。 (到目前为止)
但是,如果将airplay用作扩展桌面空间或镜像然后在系统配置文件中选择用于显示,则进行锻炼。 SPDisplaysDataType
这个苹果至少说明了这一点。
set connected to ""
try
set connected to do shell script "system_profiler SPDisplaysDataType | grep -i \"AirPlay\" "
if connected contains "Connection Type: AirPlay" then
set connected to "Connected as a Display or mirroring"
end if
on error err
log err
if err contains "The command exited with a non-zero status" then
--do somthing
set connected to "Not connected as a Display or mirroring"
end if
end try
connected
<强> UPDATE * 强>
iTunes命令现在有一些播放命令。不确定它们何时出现。 但是使用的一个例子是:
tell application "iTunes"
set isPlaying to player state
if isPlaying is playing then
log isPlaying
set airPlayEnabled to AirPlay enabled
if airPlayEnabled then
log airPlayEnabled
else
airPlayEnabled
end if
else
log isPlaying
end if
end tell
启用 AirPlay AFAIK仅针对其运行的iTunes播放器。而不是可能占用Airplay设备的任何其他设备