这是我自己的源代码!有不妥的地方请大家多多指教,我刚入门的作品。
核心代码:下面有源码链接
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
}
//创建集合
List<string> listSong = new List<string>();
//创建格式集合
List<string> listGeshi = new List<string>();
//本地歌曲上传
private void button5_Click(object sender, EventArgs e)
{
//创建对话框
OpenFileDialog opd = new OpenFileDialog();
//对话框的标题
opd.Title = "请选择打开的音乐路径";
//对话框多选内容
opd.Multiselect = true;
//设置对话框的初始目录
opd.InitialDirectory = @"C:\";
//设置文件类型
opd.Filter = "所有文件|*.*";
//展示出来
opd.ShowDialog();
//获取文件夹的路径
string[] path = opd.FileNames;
for (int i = 0; i < path.Length; i++)
{
//string name= Path.GetFileName(path[i]);
listBox1.Items.Add(Path.GetFileName(path[i]));
listSong.Add(path[i]);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
//创建播放器
SoundPlayer sp = new SoundPlayer();
//上一曲
private void button3_Click(object sender, EventArgs e)
{
int index = listBox1.SelectedIndex;
//创建播放器
// SoundPlayer sp = new SoundPlayer();
index--;
//获取文件的路径
if (index < 0 || index >= listSong.Count || index == -1)
{
index = 0;
}
sp.SoundLocation = listSong[index];
listBox1.SelectedIndex = index;
sp.Load();
sp.PlayLooping();
}
//下一曲
private void button4_Click(object sender, EventArgs e)
{
int index = listBox1.SelectedIndex;
//创建播放器
// SoundPlayer sp = new SoundPlayer();
index++;
if (index < 0 || index >= listSong.Count || index == -1)
{
index = 0;
}
//获取文件的路径
sp.SoundLocation = listSong[index];
listBox1.SelectedIndex = index;
sp.PlayLooping();
}
private void listBox1_DoubleClick(object sender, EventArgs e)
{
//获取文件的路径
sp.SoundLocation = listSong[listBox1.SelectedIndex];
sp.PlayLooping();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
#region 音乐转换模式 MP3转wav格式
//音乐转换模式 MP3转wav格式
private void button6_Click(object sender, EventArgs e)
{
//创建对话框
OpenFileDialog opd = new OpenFileDialog();
//对话框的标题
opd.Title = "请选择打开的音乐路径";
//对话框多选内容
opd.Multiselect = true;
//设置对话框的初始目录
opd.InitialDirectory = @"C:\";
//设置文件类型
opd.Filter = "所有文件|*.*";
//展示出来
opd.ShowDialog();
// string filename = Path.GetFileName();
//获取文件夹的路径
string[] path = opd.FileNames;
for (int i = 0; i < path.Length; i++)
{
string namepath = Path.GetFileName(path[i]);
listBox2.Items.Add(namepath);
listGeshi.Add(path[i]);
//获取格式转换路径(MP3转wav格式)
string quanPath = Path.GetFullPath(path[i]);
string wanPath = Path.GetDirectoryName(path[i]);
//执行格式转换方法
Form1.ConvertMP3toWAV(quanPath, wanPath + i + ".wav");
}
}
//格式转换 wav转MP3格式
public static void ConvertWAVtoMP3(string sourceFile, string desFile)
{
MediaFoundationApi.Startup();
using (var reader = new WaveFileReader(sourceFile))
{
try
{
MediaFoundationEncoder.EncodeToMp3(reader, desFile);
}
catch
{
}
}
}
//格式转换 MP3转wav格式
public static void ConvertMP3toWAV(string sourceFile, string desFile)
{
try
{
using (var reader = new MediaFoundationReader(sourceFile))
{
try
{
// WaveFileWriter.CreateWaveFile(desFile, reader);
{
WaveFileWriter.CreateWaveFile(desFile, reader);
}
}
catch
{
}
}
}
catch
{
}
}
#endregion
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
//暂停
private void button2_Click_1(object sender, EventArgs e)
{
sp.Stop();
}
//播放
private void button1_Click(object sender, EventArgs e)
{
sp.SoundLocation = listSong[0];
listBox1.SelectedIndex = 0;
sp.PlayLooping();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged_1(object sender, EventArgs e)
{
}
}
链接:https://pan.baidu.com/s/1IGO474RZNJNa2xsQxUcmjg
提取码:4t1m
复制这段内容后打开百度网盘手机App,操作更方便哦