SewiGの日記
2005-06-22 [水]
■ [Other] 図書館の蔵書
先日、聴覚の情景分析について調べよう思い、この分野のバイブル本である「Auditory scene analysis : the perceptual organization of sound. Albert S. Bregman. MIT Press, 1990(A Bradford book)」を借りるため大学図書館の蔵書検索でこの本について調べると、「研究室貸出」と表示されます。しかたがないので、リクエスト用紙だけ出していました。ところが図書館のスタッフから電話があって、
「研究室の先生が退官されてしまったので、今回はキャンセルということでよろしいですか?」
って、貴重な洋書文献をそんな簡単に手放すんですか。追跡調査をしないのですか。「時間が掛かりますがお待ちいただけますか」とでも言って欲しかったです。
2006-06-22 [木]
■ [C#][Programming] C#でサウンド(2)
MCIを使う
Win32のwinmm.dllを呼び出すので、System.Runtime.InteropServicesを利用します。
using System.Runtime.InteropServices;
で、フィールド部分は以下のように記述します。
[DllImport("winmm.dll")] extern static int mciSendString(string command, StringBuilder ret, int length, int cb); private StringBuilder builder = new StringBuilder(32);
特に重要なのは、commandはMCIコマンド、再生や停止のコマンドを入れます。retは戻り値の文字列。lengthは文字列の長さ。
ファイルを開いて
mciSendString("open \"" + filename + "\" alias currentItem", null, 0, 0);
再生して
mciSendString("play currentItem", null, 0, 0);
停止して
mciSendString("stop currentItem", null, 0, 0);
閉じる
mciSendString("close currentItem", null, 0, 0);
MCIを使えば、Waveだけでなく音楽CDやMIDI、MP3なども再生できて便利です。MCIコマンドはほかにもいろいろあるのでぜひ調べてみてください。
● Fabiola [Sursiiprng to think of something like that]