⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 visual c# 网络编程技术与实践实例包括几个源码
💻 CS
📖 第 1 页 / 共 2 页
字号:

        //获得收藏夹信息
        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 + -