AppleScript で音を鳴らす
Mac OS 9 までは、「起動項目」や「終了項目」にサウンドファイルを入れておけば、それだけで音を鳴らしてくれた。OS X では、ログイン項目にサウンドファイルを指定しても、例えば iTunes が起動してしまう。起動して鳴らしてくれるならそれでもいいが、時間をかけて起動した挙句にウィンドウを開くだけで、鳴らすには三角ボタンをクリックする必要があったりとか、いろいろ面倒な仕様になった。

と、思っていた。しかしそれは、無知ゆえのストレスだったのかもしれない。

◆◆

Mac OS X で、Finder で「command +G」を押すと「フォルダへ移動」というダイアログが出てくる(OS X 10.7.5)。
そこに「/System/Library/Sounds/」と入れてリターンキーを押すと、「/System/Library/Sounds/」フォルダが表示される(いきなり「/」で書き出すと、それは「ルートディレクトリ」を意味する)。

「/System/Library/Sounds/」にはデフォルトで、いろんな AIFF ファイルが入っている。これがいわゆる「システムサウンド」だ。どれかひとつを選択してスペ−スキーを押せば、クイックルックで音が聞ける。ここに入ってるサウンドは、システム環境設定の「サウンド」→「サウンドエフェクト」で、警告音として表示される。つまりここにエッチなお姉さんの声を入れておくと、エッチなMacにすることも可能、ということだ。

AppleScript で、この中の好きな音を鳴らすことができる。例えば以下の1行を AppleScript エディタにコピペして実行ボタンを押せば、「Purr.aiff」が鳴る。「afplay」というのが「ユニックスコマンド」であるらしい。まあ、そう言われても何のことかはわからないが、我々バカスクリプターにとっては、使えさえすれば、わからなくてもいいのである。
do shell script "afplay /System/Library/Sounds/Purr.aiff"

別にシステムサウンドである必要はない。例えば自分のホームフォルダ(家のアイコンが付いたフォルダ)に「sound」というフォルダを作り、そこにファイル「OE-new-mail.aiff」を置いてみる。これを鳴らすAppleScriptは
do shell script "afplay ~/sound/OE-new-mail.aiff"
だ。「~/」がホームを意味する。ただし実験の結果、いくつかの制限がある模様。

・「~/sound/OE-new-mail.aiff」みたいなヤツを、ファイルの「パス」と呼ぶ。
 経路という意味。まあ「住所」です。パスの中に半角スペースがあるとダメ。
 例えばファイル名が「OE new mail.aiff」だとエラーになる。
 フォルダ名が「 Sound」とかもダメ。
・いくつかと書いたけど、今のところ確認できたのはそれだけか。
 半角ハイフンと半角アンダーバーはオッケー。
 意外なことに日本語は、全角スペースも含めてオッケー。
・AIFF 以外の、例えば MP3 とかでもいけるのかどうか、未検証。

●サンプルスクリプトの使い方

Objective-Cでコマンドの中身を作るまで - ザリガニが見ていた...。
徹底的にソフトウェアで豊かな音を奏でてみよう - ザリガニが見ていた...。
[PR]
by nobiox | 2014-02-05 21:23 | ├バカスクリプト |
<< 都知事選。どうしよう。 | InDesign で PDFと... >>