2

有一个旧代码使用 SDL 音频输出音乐。我将它移植到 Qt 并且我想用原生 Qt 音频 API 替换 SDL 音频。

简单来说,流程是这样的:

...
// Initialization
wanted_spec.callback = sdl_audio_callback;
SDL_OpenAudio(&wanted_spec, &spec);
...

// copies raw data to audio buffer
static void sdl_audio_callback(void *opaque, Uint8 *stream, int len)

我应该使用 Qt 的哪个音频 Api?不涉及视频

4

2 回答 2

2

通常你会使用更高级别的Phonon模块,这里是它的 API 文档。但是因为您正在处理原始样本,所以您将需要较低级别的QtMultimedia模块,特别是QAudioOutput类。文档在这里

于 2012-08-07T07:16:54.360 回答
1

SFML - 简单快速的多媒体库

主要特点:

Portable SFML 在标准平台上编译,如 Windows(98、2000、XP、Vista)和 Unix 系统(Linux、Mac OS X)。随着库的发展,将添加对更多操作系统的支持。

面向对象的SFML 是用 C++ 编写的,提供了一种高效的面向对象的设计。它依赖于标准模式和习惯用法来提供一个简单而健壮的框架。

易于使用SFML 旨在易于操作。努力在内部代码上提供最简单的公共接口。

灵活SFML 不是一个大 API,而是包含许多小包,可以根据预期用途进行选择和组合。您只能使用基本包来获取输入和窗口,以及带有精灵和后期效果的完整图形包。

易于集成的 SFML 可以在一个或多个窗口中使用,和/或可以集成到现有的界面组件中。与现有图形用户界面 (GUI) 库的集成很容易,因此您可以将 SFML 视图添加到使用 Qt、wxWidgets、MFC 或其他工具构建的复杂界面中。

希望这可以帮助。

于 2012-08-07T11:19:25.497 回答