如何用C语言播放MP3文件?

2024-04-23

我正在寻找在 C 中播放 MP3 文件的最简单方法。我正在寻找一个库,在其中我可以只调用文件名上的函数,或者一个将运行并退出的可执行文件。请建议。


Using FMOD http://www.fmod.org/download/(跨平台),这应该像这样简单:

#include <conio.h>
#include "inc/fmod.h"

FSOUND_SAMPLE* handle;

int main ()
{
   // init FMOD sound system
   FSOUND_Init (44100, 32, 0);

   // load and play mp3
   handle=FSOUND_Sample_Load (0,"my.mp3",0, 0, 0);
   FSOUND_PlaySound (0,handle);

   // wait until the users hits a key to end the app
   while (!_kbhit())
   {
   }

   // clean up
   FSOUND_Sample_Free (handle);
   FSOUND_Close();
}

作为旁注,我建议您使用 C++ 而不是 C。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用C语言播放MP3文件? 的相关文章

  • nUnit Assert.That委托并发问题

    我的代码中遇到了一些暂时的死锁 无法解决它 简单的代码 我无法创建一个简单的调用链来重现代码InvokeChangeEvent Test public async void Test sut InvokeChangeEvent foo fi
  • 使用正则表达式或其他解析从文件中读取值

    我有一个记录带有时间戳的值的文件 我必须在特定时间后读取特定值 例如 文件有 2013 03 03 19 08 22 car 2001 Ford 2013 03 03 19 08 27 Truck 2012 Chevy 2013 03 03
  • C++11 类型推导与 const char *

    In GotW 94 http herbsutter com 2013 08 12 gotw 94 solution aaa style almost always auto Herb Sutter 对 经典 C 声明进行了区分 const
  • 读取进程的进程内存不会返回所有内容

    我正在尝试扫描第三方应用程序的内存 我已经查到地址了 现在是在0x0643FB78 问题是 从那以后我就再也爬不上去LPMODULEENTRY32 gt modBaseAddr is 0x00400000 and LPMODULEENTRY
  • Task.Delay 是否真的像 I/O 操作一样异步,即它依赖于硬件和中断而不是线程?

    我发现了大量相关内容 但这些内容都是拐弯抹角的 但我始终无法找到答案 我几乎 100 确定Task Delay int 不使用线程 因为我可以在只有 16 个逻辑处理器的机器上运行此代码 var tasks new List
  • 这些比较应该返回什么?

    我有一个使用 string compare string string 对某些值进行排序的应用程序 我不明白的是为什么 1022 比较小于 10 23 而 10 23 比较小于 1024 是否有特定于 值的东西导致了这个结果 string
  • 如何在cmake中添加cuda源代码的定义

    我使用的是 Visual Studio 2013 Windows 10 CMake 3 5 1 一切都可以使用标准 C 正确编译 例如 CMakeLists txt project Test add definitions D WINDOW
  • 与智能指针的返回类型协方差

    在 C 中我们可以这样做 struct Base virtual Base Clone const virtual Base struct Derived Base virtual Derived Clone const overrides
  • 同步和异步 API

    我正在开发一个库 它提供一些耗时的服务 我需要每个 API 有两个版本 一个用于同步函数调用 另一个用于异步 图书馆用户应决定使用哪个版本 服务结果可能对于系统继续运行 同步调用 至关重要 可能需要在不同的工作线程中完成相同的操作 因为结果
  • 使用箭头键滚动可滚动控件

    我正在使用一个ScrollableControl在我的 C 项目中 我想知道如何将箭头键映射到垂直 水平滚动 编辑 我的图片框获得焦点 并且我设法映射滚动键 这里的问题是 当我按下箭头键时 它会滚动一次 然后失去焦点 将其交给滚动查看器旁边
  • 重复取消引用多个指针,效率较低?

    而不是写 string name first gt next gt next gt next gt name int age first gt next gt next gt next gt age 将其写为 node billy bloc
  • Compact Framework 3.5 上的 System.Data.SQLite 问题

    我在我的紧凑框架应用程序中使用 sqlite 来记录系统中的事件 我也在使用系统 数据 SQLite http sqlite phxsoftware com 该事件具有描述其发生时间的时间戳 我将此时间戳记作为刻度存储在我的表中 除此列外
  • 如何取消 NetworkStream.ReadAsync 而不关闭流

    我正在尝试使用 NetworkStream ReadAsync 读取数据 但我找不到如何取消调用后的 ReadAsync 作为背景 NetworkStream 由连接的 BluetoothClient 对象 来自 32Feet NET 蓝牙
  • ASP.NET MVC C#:将多个表/查询中的数据引入视图中

    好吧 我仍在掌握 ASP NET 和 MVC 框架的窍门 并将我的知识从经典的 ASP 和 VB 转换过来 所以请保持温柔 我的第一个视图 home details X 运行良好感谢之前的帮助为我指明了正确的方向 https stackov
  • 在库中使用 .Net Standard 1.4 并在应用程序中使用 .Net Framework 4.6.1 时,无法加载文件 System.IO.FileSystem,版本=4.0.1.0

    我有一个包含一个库和两个应用程序的解决方案 这些应用程序代表同一个程序 其中一个针对通过 UAP10 的 Windows App Store 构建 另一个针对使用 Net Framework 4 6 1 的 Microsoft Window
  • 即使使用前向声明也会出现未定义的类型错误

    我正在阅读循环引用和前向声明 我确实知道在头文件中实现并不是一个好的设计实践 然而我正在尝试并且无法理解这种行为 使用以下代码 包含前向声明 我期望它能够构建 但是我收到此错误 Error 1 error C2027 use of unde
  • 学习 WPF 会提高我的 ASP.NET 技能吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经在 Windows 窗体领域工作了很多年 而且仍然如此 我完全不熟悉 ASP NET 技术 也不熟悉其他 Web 相关技术 我曾合作过 O
  • 在 C# 中同步闪烁标签

    我创建了一个BlinkingLabel类 源自Forms Label 其中有一个Forms Timer这允许我启用和禁用闪烁效果 我创建了 4 个标签BlinkingLabel类型 我的问题是 如果所有 4 个标签在不同时间闪烁 则闪烁效果
  • 图像处理编程

    我想知道是否有任何方法可以使用某种编程语言检测图像中对象的位置 例如 如果我有一个球的图像 每 100 毫秒更新一次 是否可以通过某些程序使用某些东西来获取球的坐标 看一下OpenCV http opencv willowgarage co
  • 制作一个未知大小的数组 C# [重复]

    这个问题在这里已经有答案了 可能的重复 C 中未知长度的数组 https stackoverflow com questions 599369 array of an unknown length in c sharp 我想创建一个程序 用

随机推荐

  • 多次或单次 Try Catch [重复]

    这个问题在这里已经有答案了 我正在清理一些代码 但我不确定哪条路线更好 目前 我的大部分方法都有一个 try catch 块 它在最后处理一些单独的异常 但我认为有更多的 try catch 块对于维护来说会更好 然而 在分解代码时 我发现
  • 安装 Cordova CLI 和 Ionic

    最近我安装了node js以及ionic和cordova sudo npm install g cordova ionic 一切似乎都运行良好 但是当我跑步时 ionic info Cordova CLI 似乎丢失了 Your system
  • 不带单位的 CSS 属性的后备

    考虑 CSS 属性缺少单位 px em pt 的场景 div style width 170 border 1 dotted PaleGreen background color MistyRose The quick brown div
  • php microtime() 格式值

    PHP microtime 返回如下内容 0 56876200 1385731177 that s msec sec 我需要这种格式的值 1385731177056876200 this is sec msec without space
  • C# 的检查点库

    我正在寻找 C 检查点库 有任何想法吗 see http en wikipedia org wiki Application checkpointing http en wikipedia org wiki Application chec
  • 如何使用 Openxlsx 包修改 Excel 工作簿中的现有工作表?

    我正在使用 openxlsx 包来读取和写入 Excel 文件 我有一个固定文件 其中包含一个名为 数据 的工作表 其他工作表中的公式使用该工作表 我想更新此数据表而不触及其他数据表 我正在尝试以下代码 write xlsx x Rev 4
  • 如何在 Tornado 中记录 HTTP 响应?

    我希望能够在龙卷风中记录 HTTP 请求和响应 这似乎很容易通过请求来完成 def log function handler info Method handler request method Host handler request h
  • 适用于新应用程序引擎应用程序的 Python 3.7 本地开发服务器选项

    我有一个在标准 Python3 运行时上部署和运行的应用程序引擎应用程序 我还可以使用普通命令在本地运行它 例如flask run 但我无法像在 2 7 运行时中运行应用程序那样运行它dev appserver py 我正在使用最新的gcl
  • Django_tables2:根据请求动态隐藏列

    我有一个基于具有多个字段的模型的表 我也有两个TemplateColumns 一个用于编辑特定实体 另一个用于删除它 这是我的代码 class EntitetTable tables Table edit tables TemplateCo
  • io.cucumber 和 info.cukes 之间有什么区别

    我正在尝试使用 Cucumber 集成 BDD 但我真的很困惑有什么区别io 黄瓜 and 信息库克斯图书馆 以及使用哪一种以及何时使用 我尝试阅读并理解 github自述文件 md https github com cucumber cu
  • 如何清理提交树中未使用的侧分支?

    如何清理提交树中未使用的侧分支 不是真正的 git 分支 示例 树 假提交哈希 提交消息 可选 指针 0001 last commit master origin master HEAD 0002 old unused merge 0003
  • 使用 Jquery 验证插件 Ajax 远程验证 WordPress 用户名和电子邮件

    有谁知道如何使用 jquery 验证插件验证 WordPress 用户名和电子邮件 我正在尝试使用验证的远程方法检查用户名和电子邮件是否存在 我注意到 WordPress 有 username exists 和 email exists 等
  • Java关闭PDF错误

    我有这个java代码 try PDFTextStripper pdfs new PDFTextStripper String textOfPDF pdfs getText PDDocument load doc doc add new Fi
  • 禁用 UITextfield 的键盘

    我想知道如何禁用 UITextfield 的输入视图 环境textField inputView nil or textField setInputView nil 在 ShouldBeginEditing 中不执行任何操作 并使用user
  • [NSObject:任何对象]?' Xcode 6 Beta 6 中没有名为“下标”的成员

    我正在 Swift 中的 Xcode 6 Beta 6 中构建一个应用程序 但我不断收到此错误 NSObject AnyObject does not have a member named subscript 我不知道如何解决这个问题 我
  • 生成ip和限时下载链接

    有一个用于下载文件的直接链接 用户可以在付款后下载该链接 如下所示 http example com download webapp rar 但我需要生成ip和时间限制的下载链接 以防止其他人窃取该文件 我想在不使用任何数据库的情况下执行此
  • 在哪里将 google-services.json 文件放入 eclipse 项目中?

    我正在尝试实施新的GCM client在安卓上 在某一时刻 您必须启用Google Services对于该应用程序 启用后Cloud Messaging你必须下载该文件google services json并将其放入app or mobi
  • 模块化和抽象反应组件功能

    我下面有一个工作组件 允许所有复选框和复选框 它工作完美 然而 我讨厌这样的想法 每次我想使用此功能时 我都必须携带所有这些代码 我正在寻找一种在反应中使这个模块化的方法 这是 它不会将 输入检查所有 功能的整个功能模块化在一处 我必须在每
  • 如何在 svn 存储库中搜索任何修订版中是否存在文件

    如何搜索名为foo txt曾经提交到我的 svn 存储库 在任何修订版中 右键单击签出文件夹的根目录 gt TortoiseSVN gt 显示日志 您也可以在那里输入文件名
  • 如何用C语言播放MP3文件?

    我正在寻找在 C 中播放 MP3 文件的最简单方法 我正在寻找一个库 在其中我可以只调用文件名上的函数 或者一个将运行并退出的可执行文件 请建议 Using FMOD http www fmod org download 跨平台 这应该像这