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欢迎提意见啊.