音乐文件.kgm格式转.mp3格式WPF解决方案

本文介绍了基于WPF和C#开发的文件格式转换工具。可通过拖动或点击获取文件路径,实时显示转换结果与进度。关键技术包括UI控件属性与后台数据绑定、支持文本框拖动获取路径、控制台输出内容监听及数据进度条流畅动画,提高了响应速度和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说-先看效果

Github链接
Gitee链接
鼠标拖动文件夹到灰色文本框即可取得文件路径,点击按钮也可以获得路径,获得的路径实时显示在灰色文本框。
软件打开界面
批量格式转换过程中能够实时显示成功转换多少、转换失败多少(99.9%都能转换成功,测试过几百个仅2个文件无法转码),以及转换完成的进度。
格式转换完成后界面

制作背景

缘起前几天为了给妹妹的MP3下载周董的150首歌,为了妹妹不用手机耽误学习,狠心花了3块9开了会员,结果开完会员后发现下载的文件离开👖🐕后就不能播放,找遍全网无果不是要收费就是根本没法用,最后终于在GitHub上发现了一个东东,真的很Nice,有个Go编译的双击就可以运行,但必须将两个文件放在kgm文件同一级目录,不太喜欢。然后加上可能我被Windows洗脑了,一看到有个带命令启动的版本,视觉本能驱使我又套了个壳,套完壳后觉得手感还是可以😂

关键技术

UI控件属性与后台数据绑定

利用 wpf 支持数据驱动,可以提高响应速度。如果采用时间驱动,由于wpf前后台是分离的 UI 和 后台运行在不同线程,线程不同步虽然可以用invoke一下,但这样效率低啊,遇到需要传值的时候(基本都是这样的),就像用async里的await一样,势必会阻塞await后面的执行和因为。使用数据驱动的话就不用管这些事情了,把这些事交给编译器自己弄去吧,这样就实现了实时更新数据。

        #region 属性的绑定
        /// <summary>
        /// 定义记录进度的字段及属性
        /// </summary>
        private string currentProgress = "";
        public string CurrentProgress
        {
   
            get {
    return currentProgress; }
            set
            {
   
                currentProgress = value;
                OnPropertyChanged("CurrentProgress");
            }
        }
        private string successFail = "";
        public string SuccessFail
        {
   
            get {
    return successFail; }
            set
            {
   
                successFail = value;
                OnPropertyChanged("SuccessFail");
            }
        }
        /// <summary>
        /// 属性改变的事件委托
        /// 实现INotifyPropertyChanged接口成员
        /// </summary>
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(string PropertyName)
      
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值