📄 form1.cs
字号:
//获得收藏夹信息
public DataSet getInfo()
{
//建立连接
SqlConnection conn = new SqlConnection(connStr);
//使用pd_getInfo存储过程
SqlCommand SqlCmd = conn.CreateCommand();
SqlCmd.CommandType = CommandType.StoredProcedure;
SqlCmd.CommandText = "pd_getInfo";
//打开数据库连接
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
//使用SqlDataAdapter把数据填充到DataSet类型中
SqlDataAdapter myDataAdapter = new SqlDataAdapter(SqlCmd);
DataSet myDataSet = new DataSet();
//将表musicInfo填写到DataSet类型中
myDataAdapter.Fill(myDataSet, "musicInfo");
//返回DateSet类型值
return myDataSet;
}
finally
{
//关闭数据库
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
//点击收藏夹事件
private void dgMedia_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//初始化相关变量
int index;
string mediaPath = "";
try
{
//获得媒体文件索引
index = dgMedia.SelectedRows[0].Index;
//获得媒体文件路径
mediaPath = dgMedia.Rows[index].Cells["mediaPath"].Value.ToString();
//建立FilgraphManager对象来建立媒体文件,并对媒体文件的播放2进行控制
}
catch (Exception exp)
{
//显示错误信息
MessageBox.Show("Open File Error!");
//返回
return;
}
FilgraphManager myFilterGraph = new FilgraphManager();
//获得媒体文件的路径
myFilterGraph.RenderFile(mediaPath);
//建立IBasicAudio用来播放音频
myBasicAudio = myFilterGraph as IBasicAudio;
try
{
//从myFilterGraph建立myVideoWindow对象
myVideoWindow = myFilterGraph as IVideoWindow;
//将myVideoWindow的所有者句柄设为panel1的句柄
myVideoWindow.Owner = (int)panel1.Handle;
//设置播放窗体的位置和大小
myVideoWindow.SetWindowPosition(panel1.ClientRectangle.Left,
panel1.ClientRectangle.Top,
panel1.ClientRectangle.Width,
panel1.ClientRectangle.Height);
}
catch (Exception exp)
{
//若生成失败 设置myVideoWindow对象为空
myVideoWindow = null;
}
//建立媒体播放事件的对象
myMediaEvent = myFilterGraph as IMediaEvent;
//建立媒体播放速率的对象
myMediaPosition = myFilterGraph as IMediaPosition;
//建立控制媒体播放的对象myMediaControl
myMediaControl = myFilterGraph as IMediaControl;
//停止播放媒体
myMediaControl.Stop();
//播放状态为停止
state = "Stop";
//播放按钮可用
playBtn.Enabled = true;
//暂停播放按钮可用
stopBtn.Enabled = true;
}
private void openBtn_Click(object sender, EventArgs e)
{
//新建打开文件窗口
openFileDialog = new OpenFileDialog();
//设置打开媒体文件的类型
openFileDialog.Filter = "Media Files|*.mpg;*.avi;*.wma;*.mov;*.wav;*.mp2;*.mp3|All Files|*.*";
//显示该窗口
openFileDialog.ShowDialog();
//如果打开文件失败
if (openFileDialog.FileName == "")
{
//显示错误对话框
MessageBox.Show("Open Error!");
}
//获得打开文件的文件名
pathTBox.Text = openFileDialog.FileName;
return;
}
private void playBtn_Click(object sender, EventArgs e)
{
//如果首次播放
if (state == "")
{
//建立FilgraphManager对象来建立媒体文件,并对媒体文件的播放2进行控制
FilgraphManager myFilterGraph = new FilgraphManager();
//获得媒体文件的路径
myFilterGraph.RenderFile(pathTBox.Text);
//建立IBasicAudio用来播放音频
myBasicAudio = myFilterGraph as IBasicAudio;
try
{
//从myFilterGraph建立myVideoWindow对象
myVideoWindow = myFilterGraph as IVideoWindow;
//将myVideoWindow的所有者句柄设为panel1的句柄
myVideoWindow.Owner = (int)panel1.Handle;
//设置播放窗体的位置和大小
myVideoWindow.SetWindowPosition(panel1.ClientRectangle.Left,
panel1.ClientRectangle.Top,
panel1.ClientRectangle.Width,
panel1.ClientRectangle.Height);
}
catch (Exception exp)
{
//若生成失败 设置myVideoWindow对象为空
myVideoWindow = null;
}
//建立媒体播放事件的对象
myMediaEvent = myFilterGraph as IMediaEvent;
//建立媒体播放速率的对象
myMediaPosition = myFilterGraph as IMediaPosition;
//建立控制媒体播放的对象myMediaControl
myMediaControl = myFilterGraph as IMediaControl;
//停止播放媒体
myMediaControl.Stop();
//播放状态为停止
state = "Stop";
//播放按钮可用
playBtn.Enabled = true;
//暂停播放按钮可用
stopBtn.Enabled = true;
}
//如果按钮为暂停
if (playBtn.Text == "暂停")
{
//停止播放文件
myMediaControl.Pause();
//设置播放状态为暂停
state = "Pause";
//设置按钮为播放按钮
playBtn.Text = "播放";
}
else
{
//播放媒体文件
myMediaControl.Run();
//设置播放状态为播放
state = "Play";
//设置按钮为暂停按钮
playBtn.Text = "暂停";
}
return;
}
private void stopBtn_Click(object sender, EventArgs e)
{
if (state == "Play")
{
//停止播放媒体文件
myMediaControl.Stop();
}
else
{
MessageBox.Show("播放没有开始!");
}
}
//增加收藏夹信息
private void addBtn_Click(object sender, EventArgs e)
{
//如果媒体文件信息为空
if ((infoTBox.Text == "") || (pathTBox.Text == ""))
{
//显示错误信息
MessageBox.Show("File Error!");
//返回
return;
}
//将媒体文件路径与媒体文件名加入数据库
addMediaInfo(infoTBox.Text, pathTBox.Text);
//提示加入成功
MessageBox.Show("已将媒体文件加入收藏夹");
//获得收藏夹信息
DataSet mediaInfo = getInfo();
//更新收藏夹信息
dgMedia.DataSource = mediaInfo.Tables["musicInfo"];
}
private void tPage2_Click(object sender, EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -