gaudio是一個基于C/C++混合編程的跨平臺音頻庫,當前支持windows32/64操作系統和linux32位操作系統
當前性能:
1.最大支持音源同時播放的格式-8
2.單音源最大掛載的音效個數-8
3.全局最大可掛載的音效個數-8
4.當前支持語言C/C++/C#
5.當前支持的OS Win32/Win64/Linux32
6. 當前支持的音效-Fade in,Fade Out,Bassboost,Speed Changer,Echo,3D Effect, Doppler, Phaser, Channel Merget, Channel Swap, Fft, Distortion, Foldback Distortion, Modulator, AutoWah 等
7.當前支持的解碼格式 - WAV, AU, AIFF, OGG, MOD,IT,XM,S3M,WV,MPC,WV,TTA,MP3,MIDI,FLAC
8.支持的編碼格式 - WAV,AU,AIFF,OGG,MP2,MP3,FLAC,AAC,WV,VOC,CAF
9.支持的音頻加載模式 - 文件加載,內存加載,虛擬文件加載
10.支持PAN,環繞音,全音量,音源音量設置
下一步計劃:
1.DEPHI綁定
2.MAC OS支持
3.Flanger,Chorus音效
4.TAK,AAC格式
5.故障處理
遠景:
1.支持所有平臺和手持設備
2.支持常見的所有音頻格式
3.支持常見的所有音效
4.提高最易用最方便的API接口
一個使用的小例子:
/*
GAudio 2.1.0.1, (C)2013 by Eric Du(E)
This program is a part of the GAudio SDK.
Use GAudio's echo effect
*/
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include "gaudio.h"
int main(int argc,char* argv[])
{
printf("echo created by D.Eric\n");
#if(defined(WIN32) || defined(WIN64))
gaudio_init("addons");
#else
gaudio_init("/usr/local/lib/gaudio/");
#endif
const char* filename = "..\\media\\hurnscald.ogg";
gsource* source = gaudio_source_create_from_file(filename,FALSE);
if(source == NULL)
{
printf("load file:%s error!\n",filename);
printf("bad source.\nerror code:%d.\n",gaudio_error_get());
gaudio_deinit();
return -1;
}
gaudio_source_set_int32(source,AUDIO_ENUM_LOOP,FALSE);
printf("play filename:%s\n",filename);
geffect* effect = gaudio_effect_create(AUDIO_EFFECT_ECHO,0);
if(!effect)
{
printf("not support echo effect\n");
gaudio_source_destroy(source);
gaudio_deinit();
return -1;
}
gaudio_effect_set_float(effect,AUDIO_EFFECT_ECHO_DELAY,1.0f);
gaudio_effect_set_float(effect,AUDIO_EFFECT_ECHO_DECAY,0.6f);
gaudio_effect_bind(effect,0);
gaudio_source_play(source,FALSE);
printf("\nplaying, press any key to quit.\n");
getch();
gaudio_effect_unbind(effect);
gaudio_effect_destroy(effect);
gaudio_source_stop(source);
gaudio_source_destroy(source);
gaudio_deinit();
system("PAUSE");
return EXIT_SUCCESS;
}
這個代表了我當前對音頻這塊的了解程度
下載在這里:
download歡迎提意見啊.