C#播放音频文件

要在代码中访问运行目录下的 Resources\audio 文件夹中的 MP3 文件,您需要构建文件的相对路径或绝对路径。由于您的 MP3 文件位于运行目录下,使用相对路径是一个简单且常见的方法。

这里有几个步骤需要注意:

  1. 正确的路径 :确保您的路径字符串正确指向音频文件。例如,如果音频文件名是 song.mp3,并且它位于 Resources\audio 文件夹内,您的相对路径将是 Resources\audio\song.mp3

  2. 使用相对路径:在代码中,您可以直接使用这个相对路径,因为默认情况下,相对路径是相对于应用程序的运行目录的。

  3. 处理路径字符串 :使用反斜杠(\)时,要么使用双反斜杠(\\),要么在字符串前加 @ 符号。

下面是一个使用 MediaPlayer 类加载和播放该 MP3 文件的示例代码:

复制代码
using System.Windows.Media;

MediaPlayer mediaPlayer = new MediaPlayer();

// 构建相对路径
string relativePath = @"Resources\audio\song.mp3";

// 设置音频源并播放
mediaPlayer.Open(new Uri(relativePath, UriKind.Relative));
mediaPlayer.Play();

在这个例子中,假设 song.mp3 是您的音频文件名,它位于 Resources\audio 文件夹中。确保该文件夹和文件在您的项目中,并且在编译时被复制到输出目录中。您可以在 Visual Studio 的解决方案资源管理器中设置文件的"复制到输出目录"属性为"始终复制"或"如果较新则复制"。

当您将文件(如MP3音频文件)添加到 Visual Studio 项目中时,需要设置该文件的"生成操作"属性,以便在编译和发布您的应用程序时,文件被正确处理。对于音频文件或其他资源文件(如图片、文本文件等),通常有两种常用的"生成操作"设置:

  1. 内容(Content):这是最常用的设置,用于资源文件。当文件的"生成操作"设置为"内容",这意味着该文件会被复制到应用程序的输出目录中,保持其在项目中的相对路径不变。这适用于您希望在应用程序运行时从输出目录访问的文件。

    • 若要设置为"内容",在解决方案资源管理器中选择文件,然后在属性窗口中将"生成操作"设置为"内容"。
  2. 嵌入的资源(Embedded Resource):这个设置用于将文件嵌入到最终的程序集(.exe 或 .dll 文件)中。当您想要将资源与应用程序的可执行文件打包在一起时,可以选择这个选项。然而,访问嵌入的资源比访问内容文件稍微复杂一些,因为您需要使用特定的 API 来从程序集中读取它们。

    • 若要设置为"嵌入的资源",在解决方案资源管理器中选择文件,然后在属性窗口中将"生成操作"设置为"嵌入的资源"。

对于大多数情况,尤其是在处理音频文件、图片等时,选择"内容"是最直接和简单的方法。确保还设置了"复制到输出目录",通常选择"始终复制"或"如果较新则复制",以确保文件在编译时被复制到输出目录中。

相关推荐
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹1 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
kybs19912 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
Polevne2 天前
C# SFTP客户端实现文件传输
c#·ssh
samble2 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
cjp5602 天前
024 . WPF MVVM类封装优化
c#
淡海水2 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
asdzx672 天前
如何使用 C# 提取 PPT 文本与图片
c#·ppt·提取文本
2501_930707783 天前
使用C#代码使用条件格式为 Excel 隔行设置颜色
c#·excel
何以解忧唯有撸码3 天前
【开源】c#造个轮子-日程安排工具
c#·自定义控件