切换主题
C++ 使用 Bass 音频库
Bass 是一个跨平台的音频库,支持音频播放、录制和流媒体功能,适用于 C++ 开发者。
特点
- 多格式支持:支持 MP3、WAV、OGG 等多种音频格式。
- 高性能:提供低延迟的音频处理能力。
- 插件扩展:支持通过插件扩展功能,如音效处理和 MIDI 播放。
安装与配置
1. 下载 Bass 库
- 前往 Bass 官方网站 下载适合的版本。
- 解压后,将
bass.h
和bass.lib
文件放入项目目录。
2. 配置项目
- 在项目中包含
bass.h
:cpp#include "bass.h"
1 - 将
bass.lib
添加到链接器输入中:- Visual Studio:右键项目 -> 属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项,添加
bass.lib
。
- Visual Studio:右键项目 -> 属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项,添加
使用示例
以下是一个简单的示例,演示如何使用 Bass 播放音频文件:
cpp
// filepath: d:\Docs\huaqiwill-dev-docs\编程语言\C++\C++ Bass.md
#include <iostream>
#include "bass.h"
int main() {
// 初始化 Bass
if (!BASS_Init(-1, 44100, 0, 0, NULL)) {
std::cerr << "Failed to initialize BASS" << std::endl;
return -1;
}
// 加载音频文件
HSTREAM stream = BASS_StreamCreateFile(FALSE, "example.mp3", 0, 0, 0);
if (!stream) {
std::cerr << "Failed to load audio file" << std::endl;
BASS_Free();
return -1;
}
// 播放音频
BASS_ChannelPlay(stream, FALSE);
std::cout << "Playing audio... Press Enter to exit." << std::endl;
std::cin.get();
// 释放资源
BASS_StreamFree(stream);
BASS_Free();
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
说明
- 初始化:
BASS_Init
用于初始化音频设备。 - 加载音频:
BASS_StreamCreateFile
加载音频文件。 - 播放音频:
BASS_ChannelPlay
播放音频流。 - 释放资源:使用
BASS_StreamFree
和BASS_Free
释放资源。
常见问题
初始化失败:
- 检查是否正确配置了音频设备。
- 确保
bass.dll
位于可执行文件所在目录。
无法加载音频文件:
- 确保文件路径正确。
- 检查文件格式是否受支持。
无声音输出:
- 检查系统音量设置。
- 确保音频设备正常工作。