Macでコマンドラインからサウンド再生

Macで音声ファイルを再生しようとすると、いちいちiTunesが立ち上がってうざいです。それにコマンドラインから再生したくても、標準ではそういうコマンドは入っていないんですね。
仕方がないので、play.pyというPythonスクリプトを書いて再生できるようにしました。

#!/usr/bin/env python
import sys
from AppKit import NSSound

class Sound:
    """ ref. http://nodebox.net/code/index.php/PyObjC """
    def __init__(self, file):
        self._sound = NSSound.alloc()
        self._sound.initWithContentsOfFile_byReference_(file, True)
    def play(self): self._sound.play()
    def stop(self): self._sound.stop()
    def is_playing(self): return self._sound.isPlaying()

if __name__ == '__main__':
    sound = Sound(sys.argv[1])
    sound.play()
    while True:
        if not sound.is_playing():
            break
$ python play.py test.wav

というわけで、無事にこのファイルをメール着信時に鳴らすことに成功したのでした。

http://lorien.sdsu.edu/~carroll/audio/ni.wav

Ni!


2 Comments so far »

  1.  

    naoya said

    on 2008-02-03 12:04 a.m.

    やっぱり、Mac 買ったのか。。。

  2.  

    weboo said

    on 2008-02-03 1:04 p.m.

    いや、まだ買ってないです。
    ThinkPad X61かMacBook(無印|Air)で迷ってます。

    使い勝手がいいのはThinkPadなんだけど、OS Xが1台は手元に欲しいなぁと。


Leave a comment


:

:

:

:

このエントリーのはてなブックマーク (-)