/**//// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void menuItemOpen_Click(object sender, System.EventArgs e)
{
openFileDialog1.Filter = "视频文件(*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma)|*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma|音频文件(*.wav;*.mp3;*.snd;*.au;*.midi;*.mid)|*.wav;*.mp3;*.snd;*.au;*.midi;*.mid|所有文件(*.*)|*.*";
//打开的文件类型
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
axWindowsMediaPlayer1.FileName = openFileDialog1.FileName;
//如果打开的是音频文件,则禁止【视频】菜单组
if(openFileDialog1.FilterIndex == 2)
menuItemVideo.Enabled = false;
else
menuItemVideo.Enabled = true;
}
}
private void menuItemClose_Click(object sender, System.EventArgs e)
{
axWindowsMediaPlayer1.FileName = null;
menuItemVideo.Enabled = false;
}
private void menuItemInitSize_Click(object sender, System.EventArgs e)
{
axWindowsMediaPlayer1.DisplaySize = MPDisplaySizeConstants.mpDefaultSize;
}
private void menuItemFullScreen_Click(object sender, System.EventArgs e)
{
axWindowsMediaPlayer1.DisplaySize = MPDisplaySizeConstants.mpFullScreen;
}
private void menuItemShowAudioCtrl_Click(object sender, System.EventArgs e)
{
menuItemShowAudioCtrl.Checked = !menuItemShowAudioCtrl.Checked;
axWindowsMediaPlayer1.ShowTracker = false;
axWindowsMediaPlayer1.ShowTracker = menuItemShowTrackbarCtrl.Checked;
axWindowsMediaPlayer1.ShowAudioControls = menuItemShowAudioCtrl.Checked;
}
private void menuItemShowPositionCtrl_Click(object sender, System.EventArgs e)
{
menuItemShowPositionCtrl.Checked = !menuItemShowPositionCtrl.Checked;
axWindowsMediaPlayer1.ShowPositionControls = menuItemShowPositionCtrl.Checked;
}
private void menuItemShowTrackbarCtrl_Click(object sender, System.EventArgs e)
{
menuItemShowTrackbarCtrl.Checked = !menuItemShowTrackbarCtrl.Checked;
axWindowsMediaPlayer1.ShowAudioControls = false;
axWindowsMediaPlayer1.ShowTracker = menuItemShowTrackbarCtrl.Checked;
axWindowsMediaPlayer1.ShowAudioControls = menuItemShowAudioCtrl.Checked;
}
private void openFileDialog1_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
openFileDialog1.OpenFile();
}
private void Form1_Load(object sender, System.EventArgs e)
{
}
}
}

如图2中选中的AxMediaPlayer和MediaPlayer既需自己生成的dll,2003系统默认中无迹可寻!他们所起的作用便是实现对ActiceX中播放器相关的函数的调用!
所以,对于多媒体应用程序的编写,关键在于了解对ActiveX相关控件的调用过程!

