使用 C# 下载和播放 MP4 和 OGG 文件
在这篇博客中,我们将介绍如何使用 C# 开发一个 Windows 窗体应用程序,通过提供的 URL 下载 MP4 和 OGG 音频文件并进行播放。我们将利用 HttpClient
进行文件下载,并使用 NAudio 库进行音频播放。
环境准备
使用 NAudio
和 NAudio.Vorbis
进行音频解码和播放。通过 NuGet 包管理器安装这些库。
Install-Package NAudio
Install-Package NAudio.Vorbis
创建 Windows 窗体应用程序
我们创建一个新的 Windows 窗体应用程序,并添加一个文本框用于输入 URL,一个按钮用于启动下载和播放,以及一个标签用于显示状态消息。
public partial class Form1 : Form
{
private IWavePlayer outputDevice;
private WaveStream audioFile;
public Form1()
{
InitializeComponent();
}
}
在构造函数 Form1
中,我们初始化组件:
public Form1()
{
InitializeComponent();
}
下载文件
我们将创建一个异步方法 DownloadFileAsync
来下载文件。该方法使用 HttpClient
从提供的 URL 下载文件并将其保存到临时目录中。
private async Task<string> DownloadFileAsync(string url)
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string fileExtension = Path.GetExtension(url);
string fileName = Path.Combine(Path.GetTempPath(), $"downloaded{
fileExtension}");
using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
{
await response.Content