c#编码--音乐播放器(2)

一、作业内容

新增音乐播放器功能之在线播放

音乐播放器详情可见:c#编码--音乐播放器

二、窗体实现

1、将Button5控件拖放到Winform窗体中,名称改为“播放在线文件”。

2、将TextBox控件拖放到窗体上,用于存放下载地址。

三、代码实现

1、播放在线音乐

private async void button5_Click(object sender, EventArgs e)
{
    string path=textBox1.Text;//获取要想听的音乐文件的网址
 
    string filename = "D:\\onlinemusicplay\\music.mp3"; // 下载到本地的文件
 
    try
    {
        await DownloadMusicAsync(path, filename);
        Console.WriteLine("Music download completed.");
        axWindowsMediaPlayer1.URL=filename;
        axWindowsMediaPlayer1.Ctlcontrols.play();
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Failed to download music: {ex.Message}");
    }
 
    Console.WriteLine("Press any key to exit.");
    Console.Read();
}

2、下载功能实现

 static async Task DownloadMusicAsync(string url, string filename)//下载函数
 {
     using (HttpClient client = new HttpClient())//进行网址响应
     {
         using (HttpResponseMessage response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead))
         {
             response.EnsureSuccessStatusCode();
             using (Stream streamToReadFrom = await response.Content.ReadAsStreamAsync())
             {
                 using (Stream streamToWriteTo = File.Open(filename, FileMode.Create))
                 {
                     await streamToReadFrom.CopyToAsync(streamToWriteTo);
                 }
             }
         }
     }
 }

四、总结分析

  为音乐播放器新增一个在线播放功能,使用Naudio库来处理音乐播放,使用HttpClient处理HTTP流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值