C#调用Windows Media Player制作播放器_c#切换windows默认播放或录制设备

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

string duration = “”;//当前文件播放的时间
        int width = 0;//播放文件的宽度
        int height = 0;//播放文件的高度
        //存放路径key为文件名,value为完整路径
        private Dictionary<string, string> pathList = new Dictionary<string,string>();
        private void 打开文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {

this.OpenFile();
            //清除播放列表中所有的值
            this.listView1.Items.Clear();
            //清除集合
            pathList.Clear();
            //添加到Listview中
            listViewUpdate(Path.GetFileName(path), path);
            //播放
            axWmp.URL = path;
            //当打开播放文件,启动timer控件,得到文件的时间,和宽度高度。
            //如果放在当前位置,得到的数值为0,
            //可能因为媒体文件的打开需要一定时间,这里等待媒体文件的打开
             timer1.Start();

}
        private void OpenFile() {
            //打开一个文件
            OpenFileDialog ofd = new OpenFileDialog();
            DialogResult dr = ofd.ShowDialog();
            if (dr == DialogResult.Cancel)
            { //取消打开
                return;
            }
            //否则记录打开路径
            path = ofd.FileName;
        
          
        }
        private void 属性ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //只记录文件名
            //String s=Path.GetFileNameWithoutExtension(path);
            //记录文件名和扩展名
            string ss = Path.GetFileName(path);
            //播放文件的信息
            MusicInfo mi = new MusicInfo(ss,duration,width,height);
            mi.ShowDialog();
           
           
        }
        private void 播放ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            //播放文件
            this.axWmp.Ctlcontrols.play();
           
        }

private void 暂停ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //暂停播放
            this.axWmp.Ctlcontrols.pause();
        }

private void 停止ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWmp.Ctlcontrols.stop();
            //清除图像,等待就须状态
            this.axWmp.close();
        }

private void 升高音量ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWmp.settings.volume += 5;
           
        }

private void timer1_Tick(object sender, EventArgs e)
        {
         //得到文件播放总时间和大小
            duration = this.axWmp.currentMedia.durationString;
            width = axWmp.currentMedia.imageSourceWidth;
            height = axWmp.currentMedia.imageSourceHeight;
           
        }

private void 降低音量ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWmp.settings.volume -= 5;
        }

private void 静音ToolStripMenuItem_Click(object sender, EventArgs e)
        {
           // this.axWmp.settings.volume = 0;
            if (this.axWmp.settings.mute == true) {//true代表静音
                this.axWmp.settings.mute =false; 
            }
            else if (this.axWmp.settings.mute == false) {
                this.axWmp.settings.mute = true;
            }
                  
        }

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            //选择一个文件
            this.OpenFile();
            //打开路径取出文件名及其扩展名
            string musicFileName = Path.GetFileName(path);
            listViewUpdate(musicFileName,path);

}
        //添加到listview
        //文件名和文件完整路径名
        private void listViewUpdate(string name,string path) {
            //判断是否包含键值
            if (pathList.ContainsKey(name)) {//包含返回真
                return;
            }
            pathList.Add(name, path);

ListViewItem lvi = new ListViewItem(name);
            listView1.Items.Add(lvi);

}

private void listView1_DoubleClick(object sender, EventArgs e)
        {
            //通过文件名,获得完整路径
            this.axWmp.URL =pathList[listView1.SelectedItems[0].Text];
        }

private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            //删除播放列表项
            //1首先删除集合中的值,然后删除Listview
            if (listView1.SelectedItems.Count == 0) {
                return;

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1、基本属性  URL 指定媒体位置,本机或网络地址 例如:axWindowsMediaPlayer1.URL = @"f:\aa.mp3"; uiMode 播放器界面模式,可为Full, Mini, None, Invisible ;Full:有下面的控制条; None:只有播放部份没有控制条 例如:axWindowsMediaPlayer1.uiMode = "Invisible"; playState 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪 enableContextMenu 启用/禁用右键菜单 fullScreen 是否全屏显示 stretchToFit 非全屏状态时是否伸展到最佳大小 2、播放器基本控制 Ctlcontrols.play(); 播放 Ctlcontrols.pause(); 暂停 Ctlcontrols.stop(); 停止 Ctlcontrols.currentPosition 当前进度 Ctlcontrols.currentPositionString 当前进度,字符串格式。如“00:23” Ctlcontrols.fastForward(); 快进 Ctlcontrols.fastReverse(); 快退 Ctlcontrols.next(); 下一曲 Ctlcontrols.previous(); 上一曲 3、播放器基本设置 settings.volume 音量,0-100 settings.balance 声道,通过它应该可以进行立体声、左声道、右声道的控制。 settings.autoStart 是否自动播放 settings.mute 是否静音 settings.playCount 播放次数 settings.rate 播放速度 4、当前媒体属性 currentMedia.duration 媒体总长度 currentMedia.durationString 媒体总长度,字符串格式。如“03:24” currentMedia.getItemInfo(const string) 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址 currentMedia.setItemInfo(const string) 通过属性名设置媒体信息 currentMedia.name 同 currentMedia.getItemInfo("Title")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值