在不使用库的情况下播放 MP3/WAV 文件?

Posted

技术标签:

【中文标题】在不使用库的情况下播放 MP3/WAV 文件?【英文标题】:Play MP3/WAV files without using libraries? 【发布时间】:2017-07-27 04:05:14 【问题描述】:

我正在使用一个名为 Eclipse(Oxygen Release (4.7.0))的应用程序,并且在 MacOS Sierra 上使用它。几天前,我从一个用 C++ 和 OpenGL 制作的复制版马里奥游戏中下载了source code。

我打算使用该源代码在我的游戏/程序中引用和播放 .mp3/.wav 文件,直到我意识到我不能这样做,因为马里奥副本的源代码使用 SDL2 和 SDL2_Mixer 来播放复制马里奥游戏中使用的所有音频。

将 SDL2 和 SDL2_Mixer 导入到我的 C++ 游戏/程序中实在是太痛苦了,尤其是因为在 Mac 上更难做到。我以前尝试过这样做,但失败了。 :(

我注意到在马里奥副本源代码中,源代码中有.wav文件,这意味着在代码中,那些.wav文件被引用并用于播放音频。

有没有办法在我的游戏/程序中引用和播放音频文件?我知道这很难做到,因为我使用的是 Mac,所以我不能使用 #include windows(.h); 和其他类似的东西。

【问题讨论】:

【参考方案1】:

我会看看 Apple 的 Core Audio Framework。在此处查看 SO 问题:

iPhone SDK: play a sound with coreAudio

【讨论】:

很多这些链接已被删除 :( @Pat Mustard 另外,这些链接适用于 ios。我的游戏不适合IOS。它适用于 Macintosh 和 Windows。不过感谢您的帮助。 :) 核心音频可以在 ios 和 osx 上使用,但是,如果你想要一些便携的东西,你可以使用 open al (openal.org) 或声音对象库 (sndobj.sourceforge.net) 谢谢@Pat Mustard!我还有1个问题。我如何能够将库连接到我的项目,所以我可以#Include 它?顺便感谢您的帮助! 您需要下载源代码并从头开始构建您选择的任何一个。之后,您将包含标题并链接到库。

以上是关于在不使用库的情况下播放 MP3/WAV 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Python播放mp3/wav文件音频(Pygame混音器)

从内存流播放 mp3/wav 文件到网页

exp-linux用aplay直接播放音频文件(mp3,wav)

MP3/wav 音频文件的持续时间

如何使用 python 脚本停止/关闭音频文件(mp3/.wav)

在播放 mp3 或 wav 时结合 NAudio Pan 和 JSNet SuperPitch