\n |
[ トップページ ]
[ ____CommandPrompt ]
[ ____JScript ]
[ ____MySQL ]
[ ____Cygwin ]
[ ____Java ]
[ ____Emacs ]
[ ____Make ]
[ ____Perl ]
[ ____Python ]
[ ____OpenGL ]
[ ____C# ]
[ ____StyleSheet ]
[ ____C++ ]
[ ____Winsock ]
[ ____Thread ]
[ ____VisualStudio ]
[ ____C ]
[ ____Win32API ]
[ ____Lua ]
[ ____PhotoShop ]
ヘッダ検索
■ Sound
ツールボックス上で右クリックメニューを出す
[アイテムの選択]を実行
COMコンポーネントタブを選択
Windows Media Playerにチェックを入れる
// コントロールの外観
// none = 画面部分のみ。他にmini, fullがある。
axWindowsMediaPlayer1.uiMode = "none";
// ファイルの読み込み
axWindowsMediaPlayer1.URL = "d:/test.mp3";
// 自動再生
axWindowsMediaPlayer1.settings.autoStart = true;
// ボリューム
axWindowsMediaPlayer1.settings.volume = 100;
音量を0〜100で設定。
OSの音量とは違うので、コントロールを複数同時に使って
それぞれのボリュームコントロールが可能。
// ミュート
axWindowsMediaPlayer1.settings.mute = true;
// 再生
axWindowsMediaPlayer1.Ctlcontrols.play();
// 一時停止
axWindowsMediaPlayer1.Ctlcontrols.pause();
// 停止
axWindowsMediaPlayer1.Ctlcontrols.stop();
// 閉じる
axWindowsMediaPlayer1.close();
ファイルを切り換える場合、閉じないと画面描画が残る。
// シーク
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 0;
目的の秒数を指定する。double型なので秒数きっちりじゃなくてもOK。
// フルスクリーン
axWindowsMediaPlayer1.fullScreen = true;
// 動画解像度の取得
axWindowsMediaPlayer1.currentMedia.imageSourceWidth //幅
axWindowsMediaPlayer1.currentMedia.imageSourceHeight //高さ
// ステータスの取得
axWindowsMediaPlayer1.status
再生中、一時停止など、日本語の文字列が入る。
WMVなどは詳細情報が加わって文字列変化するので要注意。
// 再生時間の取得
axWindowsMediaPlayer1.currentMedia.duration
※ファイルを読み込み、ステータスが"再生中"になると取得可能。
■ mp3
[System.Runtime.InteropServices.DllImport("winmm.dll",CharSet = System.Runtime.InteropServices.CharSet.Auto)]
private static extern int mciSendString(string command,
System.Text.StringBuilder buffer, int bufferSize, IntPtr hwndCallback);
private string aliasName = "MediaFile";
//Button1のClickイベントハンドラ
private void Button1_Click(object sender, EventArgs e)
{
//再生するファイル名
string fileName = "d:/work/pro/resrc/med/";
string cmd;
//ファイルを開く
cmd = "open \"" + fileName + "\" alias " + aliasName;
if (mciSendString(cmd, null, 0, IntPtr.Zero) != 0)
return;
//再生する
cmd = "play " + aliasName;
mciSendString(cmd, null, 0, IntPtr.Zero);
}
|
|
NINJAIDX 10