コマンドラインで WAV/AIFF を再生
以前,goo辞書 の 80 番ポートを直接叩く辞書コマンドを作成した。最近はその進化形として
- 自前の単語帳作成
- 統計情報を追加
- 音声ファイルを再生
する機能を追加して使っている。今まで,音声ファイルの再生に低レベルな CoreAudio を使っていたんだけど,実は NSSound を使うと,これが数行で実現できることが分かった。盲点(アホ)。
#importint main(int argc, char *argv[]) { NSAutoreleasePool *pool = [ [NSAutoreleasePool alloc] init]; NSSound *sound = [ [ [NSSound alloc] initWithContentsOfFile:[NSString stringWithCString: argv[1] ] byReference:YES] autorelease]; if (sound) { [sound play]; while([sound isPlaying]){} } [pool release]; return 0; }
コンパイルは
% gcc -Wall hoge.m -framework AppKit -o hoge
で,OK。こちらの方が,この前あげた低レベルな奴よりも遥かに安定しています。試してみてね>αテスターの方
# RubyCocoa を使ってもいいかも。