迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中的 Windows 窗体应用程序中播放 Mp3 文件

作者:迹忆客 最近更新:2024/02/01 浏览次数:

这篇文章将演示如何使用你的 C# Windows 窗体应用程序和 Windows Media Player 构建一个简单的 C# mp3 播放器。


使用 C# Windows 窗体应用程序创建一个简单的 Mp3 播放器

首先,我们将按照以下步骤创建一个新的 Windows 窗体。

  • 打开 Microsoft Visual Studio 2017 或更新版本。
  • 在左上角,找到文件并打开一个新项目。
  • 然后选择 Windows Forms Application,为其命名,然后单击 OK
  • 点击 OK 后,会出现一个新的空窗体。

现在,我们将设计表单。

创建 Windows 窗体后,我们将对其进行设计。如果你的工具箱中没有 Windows Media Player 项目,请按照以下步骤操作。

  • 右键单击​​Components,然后单击工具箱区域中的 Choose Items,将出现一个新窗口。
  • 选择 COM Components 选项卡,然后单击列表中的 Windows Media Player 项。

添加项目:

  • Windows Media Player 拖放到窗体上,然后调整其位置。
  • 添加一个 ListBox 并将其命名为 Audiolist 以选择 mp3 文件列表。
  • 现在从工具箱中添加一个按钮并将其命名为 ChooseButton。我们使用一个按钮来选择一个播放列表,当你从列表框中选择一个时,列表框将显示将在 Windows Media Player 中播放的音频文件的播放列表。

我们可以按照这些特定步骤创建一个 MP3 Player Windows 窗体。

需要的库:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

首先,初始化两个字符串数组类型的全局变量 filefilepath

string[] file, filepath;

现在创建一个名为 fileOpenOpenFileDialog 类型变量,它将用于启动一个对话框以从存储中选择文件。

OpenFileDialog fileOpen = new OpenFileDialog();

然后我们将应用一个条件并将以下内容作为参数传递。

if (fileOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK)

如果该表达式为真,文件名将保存在 file 变量中。

file = fileOpen.SafeFileNames;

使用以下命令,将文件的整个路径存储在名为 filepath 的路径变量中。

filepath = fileOpen.FileNames;

然后我们将使用 for 循环在 ListBox 中添加音频文件。

for (int i = 0; i < file.Length; i++) {
  Audiolist.Items.Add(file[i]);
}

之后,双击产生 ListBox 的点击事件。

private void Audiolist_SelectedIndexChanged(object sender, EventArgs e) {}

然后将此代码粘贴到 Audiolist 正文中。此代码会将列表或该文件的路径传输到你的 Windows Media Player 中,无论你在 ListBox 中为其指定的名称如何。

private void Audiolist_SelectedIndexChanged(object sender, EventArgs e) {
  axWindowsMediaPlayer1.URL = filepath[Audiolist.SelectedIndex];
}

下面是使用 C# Windows 窗体应用程序和 Windows Media Player 构建简单 C# mp3 播放器的源代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Mp3Player {
  public partial class Form1 : Form {
    string[] file, filepath;
    public Form1() {
      InitializeComponent();
    }
    private void ChooseButton_Click(object sender, EventArgs e) {
      OpenFileDialog fileOpen = new OpenFileDialog();
      if (fileOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
        file = fileOpen.SafeFileNames;
        filepath = fileOpen.FileNames;
        for (int i = 0; i < file.Length; i++) {
          Audiolist.Items.Add(file[i]);
        }
      }
    }
    private void Audiolist_SelectedIndexChanged(object sender, EventArgs e) {
      axWindowsMediaPlayer1.URL = filepath[Audiolist.SelectedIndex];
    }
  }
}

使用 DirectShow 功能在 C# 中创建 Mp3 Windows 窗体应用程序

使用 DirectShow 功能创建带有 Windows Media Player 的 Mp3 Windows 表单应用程序。

Tlbimp 将 COM 类型库中的类型定义转换为通用语言的可执行程序集中的可比较定义。

Tlbimp.exe 的输出是一个二进制文件(一个程序集),其中包含原始类型库中声明的类型的运行时元数据。

要创建 QuartzTypeLib.dll,请按照下列步骤操作。

  • 首先运行 tlbimp 工具。
  • 运行 TlbImp.exe %windir%\system32\quartz.dll(此位置或目录可能因设备而异。)
  • 输出将是 QuartzTypeLib.dll
  • Solution Explorer 中的项目名称上单击鼠标右键,然后选择 Add 菜单项,然后选择 Reference。它会将 QuartzTypeLib.dll 添加到你的项目中作为 COM 引用。
  • 在你的项目中展开 References 并查找 QuartzTypeLib 参考。通过右键单击并选择属性将 Embed Interop Types 更改为 false。
  • 禁用项目设置中的 Prefer 32-bit 设置。如果你不想获得例外,请构建选项卡。

你可以使用此源代码创建 Mp3 Windows 表单应用程序。

using QuartzTypeLib;

public sealed class DirectShowPlayer {
  private FilgraphManager fgm;
  public void Play(string filepath) {
    FilgraphManager fgm = new FilgraphManager();
    fgm.RenderFile(filepath);
    fgm.Run();
  }
  public void Stop() {
    fgm?.Stop();
  }
}

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中发出 HTTP POST Web 请求

发布时间:2024/02/04 浏览次数:131 分类:编程语言

在 C# 中,可以使用 3 种主要方法来发出 HTTP POST Web 请求:WebClient 类,HttpWebRequest 类和 HttpClient 类。本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。使用 C# 中的 WebClient 类发出 HTTP POST Web 请求

在 C# 中调整图像大小

发布时间:2024/02/04 浏览次数:203 分类:编程语言

有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保

在 C# 中下载图片

发布时间:2024/02/04 浏览次数:138 分类:编程语言

有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据

在 C# 中使用秒表

发布时间:2024/02/04 浏览次数:139 分类:编程语言

我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。

在 C# 中获取可执行路径

发布时间:2024/02/04 浏览次数:200 分类:编程语言

有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便