メディア制御
概要
「メディア制御」では、MCI(Media Control Interface)に対して命令を送ることができる機能が用意されています。
MCI(Media Control Interface)とは、Windowsでメディアファイル(WAVEやMP3, CD, MIDIなど)を再生するための機能を提供するためのWindowsAPIのライブラリです。
手順
サンプルコード
MCIを利用してWAVE形式の音声データを再生する
MCIを利用してWAVE形式の音声データを再生します。
「再生」手順を使わずにMCIコマンドを利用して、WAVEファイルを再生するプログラム例です。
ファイル名は「tada.wav」 エイリアス名は「wave1」 //デバイスを開き、演奏を始める メディア制御へ「open "[ウィンドウズフォルダ]media\[ファイル名]" alias [エイリアス名]」を命令する メディア制御へ「play [エイリアス名]」を命令する //演奏が終わるまで待機する 繰り返す もし[メディア制御から「status [エイリアス名] mode」を取得したもの]が「playing」でないなら、繰り返しから抜け出す 0.1秒、待つ 繰り返し終わり //演奏を止めて、デバイスを閉じる メディア制御へ「stop [エイリアス名]」を命令する メディア制御へ「close [エイリアス名]」を命令する
WAVEファイルへ録音する
MCIコマンドを利用して、WAVEファイルに録音する例です。
※Windows Media Playerで開くことができない場合は、サウンドレコーダで試してみてください。
ーーWAVE録音の準備 「open new type waveaudio alias WAVE」をメディア制御へ命令する ーー録音開始 「record WAVE」をメディア制御へ命令する ーー停止 「stop WAVE」をメディア制御へ命令する ーー保存する 「save WAVE "C:\Test.wav"」をメディア制御へ命令する ーーファイルを閉じる 「close WAVE」をメディア制御へ命令する
CDドライブを開く
「set cdaudio door open」をメディア制御へ命令する
MCIコマンドの例
MCIコマンド文字列は、対象となるファイルやデバイスによって、いろいろなものが用意されています。
[エイリアス]とは、対象となるファイル・デバイスを表す仮の名前です。
openコマンドを利用したときに、指定できます。
再生するファイルや周辺機器によっては、サポートされていないものもあります。
MCIコマンド | 説明 |
---|---|
open [ファイル名] alias [エイリアス] | 指定したデバイスでファイルを開く |
close [エイリアス] | 閉じる |
play [エイリアス] | 再生する |
record [エイリアス] | 録音する(WAVEのみ) |
stop [エイリアス] | 停止する |
pause [エイリアス] | 一時停止する |
resume [エイリアス] | 再開する |
seek [エイリアス] to start | 演奏位置を変更する 「to start」で先頭 「to end」で最後 |
set cdaudio door open | CDドライブを開ける |
set cdaudio door closed | CDドライブを閉める |
set [エイリアス] tempo [テンポ] | MIDIのテンポを変える |
set [エイリアス] audio all [off/on] | ミュートするかどうか |
set [エイリアス] audio left [off/on] | 左の音をミュートするかどうか |
set [エイリアス] audio right [off/on] | 右の音をミュートするかどうか |