john_he 发表于 2007-12-11 23:17:37

懒人求个音频库……

免费的3D库这么多,音频库却貌似没有多少……网上找了很久也找不到合适的……

要求比较简单,不需要去到DirectSound一样硬件相关,只要能解码几种音频格式到PCM,支持Streaming就可以。连硬件接口和Mixing的也可以。当然最好商业用途免费,不是GPL、LGPL的……

支持的格式:MP3, OGG必须,最好有模块音频、MIDI和(HE-)AAC……

目前考虑过:
SDL + SDL_Mixer(可惜LGPL的)
OpenAL(貌似只支持WAV?)
BASS(商业要钱)
fmod(很强大,可惜商业要钱)
ffmpeg(LGPL)

难道真的就要自己写了么

shawind 发表于 2007-12-12 10:23:54

Audiere 1.9.4

Audiere is a high-level, straightforward, and portable audio API.

It supports several audio file formats:

Ogg Vorbis (requires the vorbisfile libraries)
MP3
FLAC (requires libFLAC)
Speex (requires libspeex)
uncompressed WAV
AIFF
MOD, S3M, XM, IT

It also supports the following output devices or APIs:

DirectSound (Windows)
WinMM (Windows)
OSS (Linux and Cygwin)
SGI AL (IRIX)

lgpl,只有一个dll,只要不改这个dll,商业用没有问题。

lw 发表于 2007-12-12 19:42:36

又要給偶出难题啊- -:
好吧MOD偶才刚刚接触所以没有MIDI和数字音频分开的
没有统一的接口你点一个好了,有的话给你……

其实自己去找开源的库写一下就一天搞定啊……

lw 发表于 2007-12-12 19:44:54

补充……最好把一些东西分清楚,例如OPENAL本身和WAVEOUT DS一样都是播放数字音频的软件,和解码器本身无关的。。。

最推荐的还是DSOUND播放,OPENAL下载了好久没有下载到(其实没有怎么去好好找……)WAVEOUT有很高的自由控制度……ASIO和KS比较接近硬件也就放弃罢~~

shawind 发表于 2007-12-12 21:09:40

http://www.openal.org/downloads.html   

如果想用midi,最好是用dmusic,不然自己从头写起,还要去找音色库,麻烦死了。

john_he 发表于 2007-12-12 22:46:07

Audiere不错,不知有没有办法从内存streaming(类似于zlib那种模式)……

MIDI有是最好,没就算了,因为不能保证每台机的输出都一样,还是模块音频好些……倒是CD播放可以考虑……
dmusic看到它那么接口就烦……

其实直接用dsound也不是很麻烦,主要是解码部分要自己写……

shawind 发表于 2007-12-13 09:55:53

audiere中有

class OGGInputStream
{
OGGInputStream ()
~OGGInputStream ()
boolinitialize (FilePtr file)
voidgetFormat (int &channel_count, int &sample_rate, SampleFormat &sample_format)
intdoRead (int frame_count, void *buffer)
voidreset ()
boolisSeekable ()
intgetLength ()
voidsetPosition (int position)
intgetPosition ()
}

同样的还有AIFFInputSteam,MODInputStream....
这样的东西,不知道合不合你用。
页: [1]
查看完整版本: 懒人求个音频库……