音乐播放器
0.前言
- 书接上文,我们已经实现了一个能够播放本地音乐的音乐播放器,能够播放众多音乐格式,包括
.ogg,接下来,我们将为我们的音乐播放器添加一个令人激动的新功能——联网音乐下载和播放!这个功能将使我们能够通过网络获取音乐,并将其添加到我们的播放列表中。 - 为了实现这个功能,我们选择使用苹果音乐开放的API。尽管这个API只支持音乐的30秒预览,但它非常适合初学者上手。使用这个API不需要认证或密钥等额外操作,让我们能够更快地理解和实现联网音乐下载功能。
- 本项目旨在练习如何实现联网音乐下载,理解基础方法后,想要拓展很快就能上手。
1.关于本地音乐播放
详情可查看本人上篇博客~
在此只放框架:
public partial class Form1 : Form
{
VorbisWaveReader oggReader = null; //定义此对象,用于解析.ogg文件格式
WaveOutEvent outputDevice = null; //定义此对象,用于播放.ogg音频
List<string> localmusiclist = new List<string>(); //添加的所有音频文件
int index = -1; //当前播放的音频文件索引
public Form1()
{
InitializeComponent();
}
private void musicplay(string filename)
{
label1.Text = Path.GetFileNameWithoutExtension(localmusiclist[index]);
//获取filename的后缀名
string extension = Path.GetExtension(filename).ToLower();
//如果oggReader和outputDevice不为空,说明正在播放或播放过ogg文件,此时要再播放新选择的文件就要先释放旧的
if (oggReader != null && outputDevice != null)
{
oggReader.Dispose();
oggReader = null;
outputDevice.Dispose();
outputDevice = null;
}
axWindowsMediaPlayer1.Ctlcontrols.stop();
try
{
if (extension == ".ogg")
{
oggReader = new VorbisWaveReader(filename);
outputDevice = new WaveOutEvent();
outputDevice.Init(oggReader);
outputDevice.Play();
}
else
{
axWindowsMediaPlayer1.URL = filename;
axWindowsMediaPlayer1.Ctlcontrols.play();
}
}
catch (FileNotFoundException ex)
{
MessageBox.Show("

&spm=1001.2101.3001.5002&articleId=139798192&d=1&t=3&u=535a9e9d35994017970c7a4ab0f88252)
2488

被折叠的 条评论
为什么被折叠?



