level 13
BASS音频库是一款对非商业用户免费的音频处理类库。功能强大,支持几乎所有音频的解码编码等处理。以及强大的扩展功能!
foobar,aimp3,千千静听.这些知名音频软件都有用到bass库
以前观注这个东西的时候吧主还不会编程,那时候bass库还不能编译64位程序.
这两天又逛了一下bass网,发现更新了~
能够使用bass库做一个自己喜欢的小播放器本就是吧主学习程序的初衷之一
2018年01月16日 02点01分
1
level 13
不能完,我们还应该分析一下make是怎么编译执行程序的
我们可以用make>01.txt把编译结果全写在01.txt文本文件中留着慢慢分析
看下第一个程序的编译内容
make -C 3dtest
make[1]: Entering directory 'C:/downloads/bass24/c/3dtest'
//先用windres生成了obj文件rsrc.obj
windres -i 3dtest.rc -o rsrc.obj
//好了开始编译了.注意rsrc.obj ..\bass.lib这两个文件要和源文件链接在一起
//-lcomdlg32 -lcomctl32 -lgdi32这几个参数是不能少的,这也是你以后编译bass的关键参数-mwindows就不说了
gcc -Os -I.. -mwindows 3dtest.c rsrc.obj ..\bass.lib -lcomdlg32 -lcomctl32 -lgdi32 -o ..\bin\3dtest.exe
//编译后删除掉obj无用文件
del rsrc.obj
基本上成功编译一堆demo后我们的makefile水平都会大涨,前题你要把作者的makefile仔细看看人家咋写的
2018年01月16日 03点01分
7
level 13
补充一点.x64位平台的windres如果想生成32位的资源文件
比如楼上的命令中
windres -i 3dtest.rc -o rsrc.obj改成
$(RES) -i $*.rc -F pe-i386 -o rsrc.obj
[-F pe-i386]这个命令是生成32位的关键哦!
2018年01月16日 03点01分
8
到目前为止的集成包v028是支持32位编译的.当然了在gcc/g++后要加-m32参数
2018年01月16日 03点01分
level 13
终于有时间开始学c了.搞了两天,bass库的基本播放和扩展格式支持基本上搞清楚了
共享代码:
#include <stdbool.h>
#include "bass.h"
int plugin()
{
//读取插件;
BASS_PluginLoad("bass_ape.dll",0); // plugin loaded...
return 0;
}
int play(char *soundfile)
{
DWORD TestSound;
//初始化(启用设备-1表示默认,采样率,效果参数,窗口句柄,0表示使用默认数据初始化DirectSound)
BASS_Init(-1, 44100, 0, 0, 0);
plugin();
//是否从内存中加载,文件路径,起始位置,终止位置,是否循环播放
TestSound = BASS_StreamCreateFile(FALSE, soundfile, 0, 0, 0);
BASS_ChannelPlay(TestSound,true);
while (BASS_ChannelIsActive(TestSound));
BASS_Free();
return 0;
}
int main(int argc,char **argv)
{
play(argv[1]);
return 0;
}
2018年01月20日 10点01分
9
level 13
我的fmp命令行播放器终于可以开始第三版了.这一版bass的基本上可以支持目前市面上所有的音乐格式了,
2018年01月20日 10点01分
10
level 13
在集成包的C:\npMingw64\ConEmu\bin内有fmp3.c
是我做写的一个命令行播放音乐小程序,供bass入门实际参考,主播放函数仅最后一段
2018年02月04日 07点02分
11
level 10
这个专业库不错,就是CPU占用不太理想。前几天很感兴趣的是ape和flac解码,居然解码器很小,
ape官方原代码超肥,看来精简代码有戏。
foorbar据我所知,前期使用的是mpg123源代码,后期使用的是ffmpeg里的音频部分。
2019年06月10日 02点06分
12