簡體   English   中英

從OS X launchd守護進程播放音頻

[英]Playing audio from OS X launchd daemon

我正在嘗試從我的launchd守護程序執行Apple腳本。 我的腳本只有一行,如下所示。

say "Message From Daemon!"

這總是失敗並拋出此錯誤消息“文件找不到某個對象”。

知道為什么會這樣嗎? 如果我從xcode(不通過launchd啟動它)和從用戶上下文中運行的任何其他應用程序運行,相同的腳本可以正常工作。

使用NSSound播放聲音依賴於window server並且不允許守護進程連接到窗口服務器。

我用say命令假設同樣的問題。 (此工具使用語音合成管理器將輸入文本轉換為可聽語音,並通過系統偏好設置中選擇的聲音輸出設備播放或將其保存到AIFF文件。)

我猜你在嘗試同樣的事情時遇到了我原來遇到的同樣的問題。 .plist文件中的路徑需要更深入地指向applescript應用程序。 下面是.plist文件的示例。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.namespace.script_name</string>
        <key>Program</key>
        <string>/Applications/script_name.app/Contents/MacOS/applet</string>
        <key>LowPriorityIO</key>
        <true/>
        <key>Nice</key>
        <integer>1</integer>
        <key>StartInterval</key>
        <integer>7200</integer>
    </dict>
</plist>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM