背景:

随机播放,所有的音乐播放器里面现在几乎都有这个功能吧。但是有没有发现,自己的播放器在选择随机播放的时候,经常会听到重复顺序的歌曲呢?反正我是有这样的感觉,无耐自己平时下的歌曲都是“歌手名—歌曲名”,所以在顺序播放的时候,还是会一连串的听到同一个人的歌曲。选择随机播放,又会遇到重复的顺序(这主要是跟算法有关)。最后自己想到的办法就是把自己硬盘上的所有音乐文件重命名成“歌曲名—歌手名”,但是打开查看自己硬盘上的音乐发现,竟然有六百首左右,自己手动改,岂不是要累死。

而且网上的一些批量该文件名的软件完成不了自己的需求。谁叫咱是程序员呢,自己写个程序完成不就行了。

这就是自己想写这个程序的背景,最后想着自己注册GitHub好长时间了你,也没有怎么用过,何不就用这次的代码做一次尝试呢?,接写来我会先写一下我的软件完成过程,然后写一下我初次在windows系统上搭建GitHub的过程。

------------------------------------------------分割线--------------------------------------------------

需求:

一,软件特点:

开发语言:C#

项目类型:WinForm

.NET FramWork版本:2.0

二,软件外观:

主要使用ListBox来显示自己的歌曲文件列表。

三,代码

这个小工具的主要代码有两部分,就是添加歌曲目录路径和开始改名。

1)添加歌曲目录并且把该目录下的所有音乐文件读取到ListBox中去的代码如下:

private void btnAddFile_Click(object sender, EventArgs e)
{ //使用FolderBrowserDialog类,它提示用户浏览、创建并最终选择一个文件夹
FolderBrowserDialog fole = new FolderBrowserDialog(); //设置是否显示“新建文件夹”按钮 (false为不显示 true为显示)
fole.ShowNewFolderButton = true;
//设置显示提示标题文字
fole.Description = "请选择媒体文件夹";
//判断是否点击了确定按钮
if (fole.ShowDialog() == DialogResult.OK)
{
//实例化目录信息的类 (文件夹的全路径)
DirectoryInfo dir = new DirectoryInfo(fole.SelectedPath); txtBoxFile.Text = fole.SelectedPath.ToString(); //获取总文件数目MP3和wma
int nFileCount = ;
FileInfo[] file = dir.GetFiles(); for (int i = ; i < file.Length ; i++)
{
if (file[i].Extension.ToLower().Equals(".mp3") || file[i].Extension.ToLower().Equals(".wma"))
{
nFileCount = nFileCount + ;
}
} lblFileCount.Text = "总歌曲数是:" + nFileCount.ToString() + "首"; //遍历文件夹中所有文件(除子文件夹)
foreach (FileInfo info in dir.GetFiles())
{
//判断文件的后缀名 进行筛选
if (info.Extension.ToLower().Equals(".mp3") || info.Extension.ToLower().Equals(".wma"))
{
//把筛选后的文件添加到ListBox控件的集合中
listFileName.Items.Add(info.FullName);
}
}
}
}

2)开始转换的代码如下:

       DateTime strStartTime = DateTime.Now;

            for (int i = ; i < listFileName.Items.Count; i++)
{
string strOldName = listFileName.Items[i].ToString();
string strFileName = strOldName.Substring(strOldName.LastIndexOf('\\') + ); //获取歌手和歌曲名和文件格式
string strSinger = strFileName.Substring(,strFileName.IndexOf('-')).Trim();
string strMusicName = strFileName.Substring(strFileName.IndexOf('-') + , (strFileName.LastIndexOf('.') - strFileName.IndexOf('-'))-).Trim();
string strFormat = strFileName.Substring(strFileName.LastIndexOf('.'));
string strNewName=strOldName.Substring(,strOldName.LastIndexOf('\\')+)+strMusicName+'-'+strSinger+strFormat;
//更改歌曲名称
File.Move(strOldName, strNewName);
} DateTime strEndTime = DateTime.Now;
TimeSpan span = strEndTime - strStartTime;
this.labTime.Text = "花费时间为:" + (span.TotalMilliseconds).ToString();

其实这段代码主要就是拼接字符串来完成对文件名的修改,其实一点也不复杂。

由上面的代码可以发现,其实这个小工具的代码很简单,但是却解决了我的问题。而且很方便。如果手动修改的话,不仅无趣,而且也不会有什么收获。

下面就是自己的测试结果:

①开始转换前:

②转换过之后的文件名:

在转换的过程中,自动过滤了除歌曲之外的所有文件。

到这里文件名的修改就算是结束了。下面我们就开始在windows下面搭建GitHub,来Commit自己的源代码。

----------------------------------------------搭建GitHub--------------------------------------------------------------------

一,首先看你自己时候有账号,没有账号的话到https://github.com/注册Git账号。

二,如果已有Git账号,则需要下载windows安装文件包,地址:http://git-scm.com/download

三,有了安装包文件后直接双击安装即可(因为下载的是在线安装包,所以会花费一点时间)。

如下图:

四,安装完后,会在桌面出现 两个快捷方式,如下图:

第一个是Git的图形操作界面的快捷方式;第二个是Git的命令行操作快捷方式;

点击右上角创建自己的代码文件库:

如下图:

点击创建后就会出现下面的界面,我们根据说明填写自己的代码信息:

点击下面的大绿色的按钮“创建仓库”后,进入下一步,

我们一定要把这个https://github.com/Chineseqiangzi/RenameMusic.git地址记好,后面会多次用到。

下一步是点击Git Shell快捷方式,先把我们在Git上创建的仓库clone到本地来。

①使用ssh -T git@github.com命令来检查公约是否正确

说明成功连接了Git服务器。

②接下来就是对创建的库进行clone,这时候我们找到github文件夹发现文件夹下面是空的,如下图:

输入如下代码clone我们的github仓库:git clone https://github.com/Chineseqiangzi/RenameMusic.git

结果如下:

这时候我们再在gitHub的默认文件夹下面呢会发现一个文件夹。如下:

这时候说明我们已经成功的把github上的仓库clone了下来。

这时候的这个文件夹就相当于我们的工作台了。我把我写好的代码文件都拷贝到这个文件夹下面去,如下图:

③接下来我们要选择上传到github的仓库中的文件,

我们需要执行以下语句

git add .  (上传该目录下的所有文件,注意add和‘.’之间有空格)

如果我们需要单独的上传某一个文件,只需要以该文件的名称替换‘.’

例如:git  add program.cs    (就是单独的上传program.cs文件)

④接下来提交代码使用如下命令:

git commit -m 'first_commit'

使用过SVN或者TFS的时候,我们在提交代码的时候是需要给版本控制工具一个说明,来说明我们对代码做了哪些修改。

使用命令git commit -m 'first_commit'  添加说明

注意:使用的时候可能会报错,如下图,解决方法也在图片中注释

⑤这时我们就会看到我们本地的源代码文件已经被创建到了github的仓库中,如下图:

⑥紧接着就是在我们的源代码地址创建远端仓库,我们源代码地址是:https://github.com/Chineseqiangzi/RenameMusic.git

命令如下:

git remote add origin https://github.com/Chineseqiangzi/RenameMusic.git   (创建名字为origin的远端仓库)

但是在我的本地电脑上却报错了,结果如下:

解决办法如下:

找到如下地址的gitconfig文件

删除该文件你的remote节点:

然后执行创建远端仓库命令,并且提交本地的origin分支到master。结果如下图:

⑦这时我们就完成了整个的源代码提交到github的工作,这时我们就可以在github看到我们自己贡献的源代码了。

-------------------------------------------------分割线-------------------------------------------------------------------

其实在安装github 的时候,已经安装了图形的GUI界面,操作非常简单,就不做介绍了,大家有兴趣的可以自己探索。

在整个的使用gitHub 的过程中遇到了很多问题,自己主要是通过网络搜索得到了有用的答案,如果大家有兴趣,可以阅读以下博主的文章。希望对大家有所帮助。

Git 常用命令详解(二)

github常见操作和常见错误!错误提示:fatal: remote origin already exists.

Git常用命令

GitHub当道,菜鸟也为Git疯狂

我与GitHub的第一次——自制音乐文件修改器的更多相关文章

  1. HostsConfig文件修改器

    Hosts文件修改器 HostsConfig v1.1 免费版 最近工作需要,经常需要更换各种域名的内外网配置,频繁的修改HOSTS文件,很多的时间都用在的修改HOSTS文件上,工作效率大大降低,课余 ...

  2. 经典游戏“大富翁4”存档文件修改器Rich4Editor下载

    下载地址: http://files.cnblogs.com/files/xiandedanteng/Rich4Editor20170614.zip http://files.cnblogs.com/ ...

  3. WWW读取安卓外部音乐文件

    需求分析 使用Everyplay(2121-1540版本)录屏,在升级SDK之后,遇到个问题,调用安卓原生的mediaplay进行播放音乐,在录屏时无法录制到声音,所以想到的解决办法是在Unity中播 ...

  4. 如何用Bat批处理自制自解压文件

    转载▼http://blog.sina.com.cn/s/blog_48462a890102e0nu.html     1.在桌面上新建一个文本文档,如:“新建 文本文档.txt”,方法是:在桌面的空 ...

  5. android播放器如何获取音乐文件信息

    转http://blog.csdn.net/hellofeiya/article/details/8464356, android自带的音乐播放器中,在获取音乐文件信息的时候是通过扫描得到相关信息的. ...

  6. HTML5 Audio时代的MIDI音乐文件播放

    大家都知道,HTML5 Audio标签能够支持wav, webm, mp3, ogg, acc等格式,但是有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持,因为mid文 ...

  7. ios获取本地音乐库音乐很详细 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例

    //扫描本地音乐文件,返回艺术家列表 需要库MediaPlayer.framework -(NSArray*) findArtistList { NSMutableArray *artistList  ...

  8. ios学习:AVAudioPlayer播放音乐文件及读取ipod库中的音乐文件

    首先要导入AVFoundation框架及 #import <AVFoundation/AVFoundation.h>头文件 注意:要在真机上调试 下面是ipad上的调试效果 下面是代码,代 ...

  9. 原来Github上的README.md文件这么有意思——Markdown语言详解

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 之前一直在使用github,也在上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的REA ...

随机推荐

  1. python corrcoef

    该函数得到相关系数矩阵. 例子: vc=[1,2,39,0,8] vb=[1,2,38,0,8] print mean(multiply((vc-mean(vc)),(vb-mean(vb))))/( ...

  2. 【翻译】追溯“typeof null”的历史

    我的翻译小站:https://www.zcfy.cc/article/the-history-of-typeof-null 翻译原文链接:http://2ality.com/2013/10/typeo ...

  3. 求解1^2+2^2+3^2+4^2+...+n^2的方法(求解1平方加2平方加3平方...加n平方的和)

    利用公式 (n-1)3 = n3 -3n2 +3n-1 设 S3 = 13 +23 +33 +43 +...+n3 及 S2 = 12 +22 +32 +42 +...+n2 及 S1 = 1 +2 ...

  4. spring mvc学习笔记(一)web.xml文件配置的一点重要信息

    通过这个web.xml文件可以看出,所有的*.shtml的请求,都会被springmvc这个servlet处理.这里如果没有指定contextConfigLocation这个参数,将会按照默认规则在c ...

  5. Paul Simon -- Duncan

    Paul Simon -- Duncan (London,January 1972) Couple in the next roomBound to win a prizeTheyve been go ...

  6. [label][JavaScript]七个JavaScript技巧

    重点:http://www.javascriptkit.com/ create an object: var car = new Object(); car.colour = 'red'; car.w ...

  7. Oracle EBS标准错误信息如何追踪 (Debug)

    http://www.cnblogs.com/songdavid/articles/2067534.html 调用EBS标准API的时候,可能会返回一些让人看不懂的错误,比如最近我在开发rcv_tra ...

  8. 通过oracle闪回查看表中值的变更履历信息

    http://www.oracle.com/technetwork/cn/articles/week1-10gdba-093837-zhs.html 得到电影而不是图片:闪回版本查询 不需要设置,立即 ...

  9. Toad 实现 SQL 优化

    It is very easy for us to implement sql tuning by toad.  We need to do is just give complex sql stat ...

  10. [ACM_数据结构] Color the ball [线段树水题][数组开大]

    Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次 ...