利用 WinForms 实现网易云音乐 URL 播放功能

一、问题描述

         对于网易云音乐等在线音乐平台,它们通常提供API接口来获取歌曲的播放链接,但这些API通常是私有的,并且需要认证和授权。对于公开的音频流,你可以直接使用它们的URL。

二、功能描述

       创建一个 WinForms 应用程序,用户可以输入网易云音乐的 URL,然后点击播放按钮,程序将提取 URL 中的音乐 ID,构造实际的音频播放链接,并进行播放。

1. 功能概述


      用户在输入框中输入网易云音乐的 URL。—— 点击播放按钮后,程序将提取 URL 中的音乐 ID  ——程序构造实际的音频播放链接。——播放音频。

2. 用户界面


       

1. axWindowsMediaPlayer1:用于播放音频文件。它通过 `URL` 属性设置要播放的文件路径,并通过 `Ctlcontrols.play()` 方法开始播放音频。

2. openFileDialog1: 用于打开文件对话框,允许用户选择一个或多个音频文件进行播放。设置 `Filter` 属性来限制选择的文件类型(如 `.mp3`、`.flac`、`.wav`),并启用 `Multiselect` 功能来允许多选。

3.listBox1: 用于显示用户选择的音频文件列表。用户可以从列表中选择一个文件进行播放。

4. label1: 显示当前播放的音频文件的名称(不包含扩展名)。

5. trackBar1: 调节音量。用户通过滑动条来调整音量,音量值传递给 `axWindowsMediaPlayer1` 控件的 `settings.volume` 属性。

6. button1: 触发 `openFileDialog1` 打开文件对话框,选择音频文件,并将选择的文件添加到 `listBox1` 和 `localmusiclist` 中。

7. button2: 停止当前播放的音频。

8. button3: 播放 `listBox1` 中的下一个音频文件。如果已经播放到最后一个文件,则循环回到第一个文件进行播放。

9.button4: 触发打开文件对话框选择 `.ogg` 文件,并使用 `VorbisWaveReader` 和 `WaveOutEvent` 来播放选定的 `.ogg` 文件。

10.一个输入框 (textBox1) 用于输入网易云音乐的 URL。

11一个按钮 (button5) 用于触发播放操作。

3. 核心功能


 ①  提取音乐 ID:通过正则表达式从 URL 中提取音乐 ID。
 ②  构造播放链接:根据提取的音乐 ID 构造实际的音频播放链接。
 ③  下载并播放音频:使用 `HttpClient` 下载音频流,保存到临时文件中,并使用 NAudio 库进行播放。  以 Rick Astley 的 Never Gonna Give You Up 为例,首先在客户端或网站上获取歌曲的播放地址, 通常是像这样:"http://music.163.com/#/m/song?id=5221167"根据链接的基础知识, 我们可以把这个 URI 拆分成几个部分:
Prorocol: http:
Auth: none
Hostname(Domain): music.163.com
Port: none(实际为80)
Pathname: /#/m/song<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值