因此在Windows中,您可以使用PlaySound
函数在C++应用程序中播放MP3文件。什么是可用于Mac OS X/Linux的一些类似功能?如果你可以链接到一些示例Hello-World类型的程序来演示这一点,我也会很感激。使用本机系统调用在C++中播放声音?
回答
您可以只需open("/dev/dsp")
并写信给它。我相信这就像你可以得到的“本地系统调用”一样。
我不知道/ dev/dsp是否可用在mac上(默认情况下至少) – NothingMore 2012-02-19 11:20:39
你能给我一个工作的例子吗?我不知道该怎么做。 – 2013-06-26 03:09:20
嗯,我不确定当前的桌面是否有一些更高级的播放音频文件的服务/库,但是如果你真的想要做一些低级别的OS音频输出,开始寻找here。也许这对您的需求来说太低级了。
关于音频:Linux!= Mac,所以我会分别回答。
MacOS对低级音频使用core audio框架。在此基础上,有几个更高级别的API。如果你只是想播放一个声音文件,AV Foundation Framework是最有可能的方式。 Here你找到一个例子来为iOS创建一个简单的应用程序,它可以轻松移植到MacOS。
对于Linux来说,整个情况相当微妙。存在许多不同的框架和库,它很不清楚哪些是低的,哪些是高水平的,因为其中一些正在仿效其他。基本上ALSA和OSS用于低级音频。他们都是废话。 Jack的目标是为专业音频提供一个框架,但它不是很便携(至少如果你对嵌入式设备感兴趣的话)。目前大多数Linux操作系统正在使用PulseAudio作为他们的音频服务器,它也有一个简单的API用于播放单一声音和一个非常困难的低层次API。然后是gstreamer库,它非常便于携带,并且具有中途下降API,专门用于播放视频文件和流音频,因此可能是在Linux上的方式。
我个人建议使用PortAudio,这是一个库,它提供 - 作为名称状态 - 一个音频框架,可跨多个操作系统和audio frameworks移植。 PortAudio的设计也很好,并且具有简单但灵活的API。
- 1. 使用系统声音播放声音
- 2. 使用System.Media.SoundPlayer播放Windows系统声音
- 3. 使用Swift播放系统声音
- 4. 使用HTML播放系统声音
- 5. 播放系统声音UILocalNotification
- 6. MonoTouch播放系统声音
- 7. 播放声音作为系统声音
- 8. 在iOS中播放系统声音
- 9. 使用ARC在IOS5中设置和播放系统声音
- 10. 使用Java音频合成系统(JASS)播放声音
- 11. 使用反应本机声音不播放声音
- 12. Iphone SDK:播放“系统声音”
- 13. iOS - 系统声音未播放
- 14. CoreAudio:播放系统声音并录制iphone中的播放声音
- 15. 用C++播放声音?
- 16. 在C++中播放声音
- 17. 使用Xcode播放随机声音
- 18. 在手机上播放本地声音
- 19. 使用Monotouch播放默认的iOS系统声音
- 20. 使用Qt播放特定系统声音
- 21. c中声音播放后的声音#
- 22. 使用SoundPlayer播放声音
- 23. 使用SoundPool播放声音
- 24. 使用JavaScript播放声音
- 25. 使用OpenAL播放声音
- 26. 在PyQt中使用QAudioOutput播放声音
- 27. 使用Pyo在Python中播放声音
- 28. 在safari中使用javascript播放声音
- 29. 使用libasound无法在USB声卡中播放声音。 (C++)
- 30. 播放随机声音onTouch
您应该考虑将OpenAL用于跨平台音效/音乐。 – rasmus 2012-02-19 01:35:22