青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級(jí)工程師 Android高級(jí)軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語(yǔ)言 程序猿
【基本介紹】
蓋莫音頻引擎SDK1.
6.0(類似fmod音頻api)原本為蓋莫游戲引擎開(kāi)發(fā)
當(dāng)前支持win7,xmp,vista操作系統(tǒng)
支持10種音頻格式:mp3,ogg,wav,au,aiff,mod,it,xm,s3m,flac
支持真3d音效
使用多線程流式播放
支持vc和mingw系列編譯器
注意這并不是一個(gè)播放器
!
本音頻SDK先后發(fā)布過(guò)1.02,1.15,1.28,1.35,1.55版本
當(dāng)前發(fā)布的為最新的1.60版本
主要修改了接口函數(shù)和移除了音效配置
下次修改將會(huì)增加使用dsound功能
使用本接口與非商業(yè)用途不需要付費(fèi)喔(當(dāng)然商業(yè)用途需要付費(fèi)哈)
接口全文:
下面是header全文
/*!==========================================================================
*  GaiMo Audio SDK1.6.0
*     personal edition free.
*     enterprise edition 388$
*     emai:gaimosoft@yahoo.com
*     website:www.gaimosoft.com
*     please ensure openal is installed.  
*****************************************************************************
/*!==========================================================================
*  GaiMo Audio SDK is a Cplusplus Library designed for game engine used(GaimoEngine.).
*  The following audio type is supported:
*  ogg,mp3,wav,it,mod,xm,s3m,flac,au,aiff
*  And it support 3D playing mode and support.
*  There are 2 versions here:
*     personal edition free
*     and enterprise edition 388$
*     Emai:gaimosoft@yahoo.com
*  libsndfile.dll is additive.
*     PLEASE ENSURE OPENAL IS INSTALLED.
*****************************************************************************
//! 蓋莫游戲3d音頻引擎是成都蓋莫軟件技術(shù)工作室推出的一款專門(mén)
//! 面向游戲開(kāi)發(fā)的音頻庫(kù),該庫(kù)具有使用簡(jiǎn)介,功能強(qiáng)大的功能
//! 本音頻庫(kù)使用于非商業(yè)產(chǎn)品不收取任何費(fèi)用
//! websize:www.gaimo.net
//! email:ccsdu2004@yahoo.com.cn
//! telephone:+86-028-67607663,
//! fax:      +86-028-67607665
//! 版本更新list.
/*!==========================================================================
*  2010.01.22 版本:1.0.0
*     提供功能:支持wav,ogg,mp3格式
*              使用多線程流式播放
*              簡(jiǎn)單易用的程序接口
*     使用本版本需要安裝OpenAL驅(qū)動(dòng)     
***************************************************************************
*/
/*!==========================================================================
*  2010.03.20 版本:1.1.0
*     提供功能:真3d音效,及幾個(gè)音效
*     使用本版本需要安裝OpenAL驅(qū)動(dòng)     
***************************************************************************
*/
/*!==========================================================================
*  2010.05.05 版本:1.2.8
*     增加功能:支持音頻錄入到文件(當(dāng)前僅為wav格式)
*     增加了對(duì):it,s3m,xm,mod4種音樂(lè)文件的支持
*     修改了幾個(gè)接口
*     使用本版本需要安裝OpenAL驅(qū)動(dòng)     
***************************************************************************
*/
/*!==========================================================================
* 2010.05.18 版本1.4.2
*     1.平臺(tái)支持:xp,vista,win7
*     2.編譯器支持vc6,vc7,vc9,codeblock,devc++
*     4.增加對(duì)aiff,flac音頻格式的支持
*     5.改用多線程錄入音頻
***************************************************************************
*/
/*!==========================================================================
* 2010.06.20 版本1.5.5
*     1.通過(guò)使用sndfile插件支持flac,au等其它音頻格式
*     2.增加了設(shè)置音頻插件目錄的參數(shù)
*     3.提供獲取音頻播放當(dāng)前時(shí)間和總播放時(shí)間的接口
*     4.支持從內(nèi)存播放音頻
*     5.支持efx reverb
*     6.支持reverb
*     7.支持lowpass filter.
*     7.可配置的音效參數(shù)修改(通過(guò)xml配置)
*     8.增加了檢測(cè)音卡的日志輸出內(nèi)容
*     8.增加了一個(gè)完全的播放器界面-蓋莫播放器
***************************************************************************
*/
/*!==========================================================================
* 2010.10.25 版本1.6.0
*     1.changed interface.
*     2.remove effect config file setting.
***************************************************************************
*/
/*!==========================================================================
* 蓋莫音頻引擎發(fā)展方向
*     1.對(duì)多平臺(tái)的支持(含mac,xbox,unix)
*     2.對(duì)多語(yǔ)言的支持(C#,Python,Dephi,易語(yǔ)言,)
*     3.脫離OpenAL音頻接口
*     4.對(duì)其他音頻格式的支持(voc,aac,acc,ape,wma,midi)(插件或內(nèi)置)
*     5.音頻頻譜處理
*     6.音頻格式轉(zhuǎn)換
***************************************************************************
*/
/*!==========================================================================
* 蓋莫音頻引擎設(shè)計(jì)的原則和宗旨
*     1.針對(duì)游戲開(kāi)發(fā),在保持使用極其方便的基礎(chǔ)之上滿足游戲音頻的各類需要
*     2.可使用蓋莫音頻引擎設(shè)計(jì)簡(jiǎn)單的播放器
***************************************************************************
*/  
#ifndef GAIMO_AUDIODEVICE_HPP
#define GAIMO_AUDIODEVICE_HPP

////////////////////////////////////////////////////////////
/// header file include
////////////////////////////////////////////////////////////
#include <string>

#if defined(_WIN32) || (defined(__WIN32__)) || defined(WIN32)
   #ifndef G_WIN32
   
#define G_WIN32
   
#endif   
#endif  

#ifndef __cplusplus
    
#error please use cplusplus compiler.
#endif

#ifndef G_CALL
#  ifdef G_WIN32
#    define G_CALL __stdcall
#  
else
#    define G_CALL __stdcall
#  endif
#endif

#if !defined(G_DLL_API) && defined(G_WIN32)
    
#if defined(BUILDING_DLL)
        
#define G_DLL_API __declspec(dllexport)
    
#else
        
#define G_DLL_API __declspec(dllimport)
    
#endif
#endif

#define G_FUNC(ret) extern "C" G_DLL_API ret

#ifndef NULL
#define NULL 0
#endif

typedef unsigned 
char  uchar8;
typedef unsigned 
int   uint;
typedef unsigned 
char  uint8;
typedef signed   
short int16;
typedef unsigned 
short uint16;
typedef signed   
int   int32;
typedef std::
string    engine_string;

//! 個(gè)人版,企業(yè)版
#ifndef GAUDIO_VERSION_PERSON
#define GAUDIO_VERSION_PERSON  
#endif

namespace core
{

/////////////////////////////////////////////////////////
//! audio file type.
/////////////////////////////////////////////////////////
enum AUDIO_FILE_TYPE
{   
    
//! WAV音頻格式
    AUDIO_FILE_TYPE_WAV = 0,  //! support!
        
//! OGG音頻格式
        AUDIO_FILE_TYPE_OGG,      //! support!
        
//! MP3音頻格式
    AUDIO_FILE_TYPE_MP3,      //! support!
        
//! XM,IT,MOD,S3M格式
        AUDIO_FILE_TYPE_XM,       //! support!
        AUDIO_FILE_TYPE_IT,       //! support!
        AUDIO_FILE_TYPE_MOD,      //! support!
        AUDIO_FILE_TYPE_S3M,      //! support!
        
//! AU格式
        AUDIO_FILE_TYPE_AU,       //! support!
        
//! AIFF格式
        AUDIO_FILE_TYPE_AIFF,     //! support!
        AUDIO_FILE_TYPE_AAC,
    AUDIO_FILE_TYPE_ACC,
    AUDIO_FILE_TYPE_MP1,
    AUDIO_FILE_TYPE_MP2,
    AUDIO_FILE_TYPE_VOC,
        
//! 微軟WMA格式
        AUDIO_FILE_TYPE_WMA,      
        
//! APE壓縮格式
        AUDIO_FILE_TYPE_APE,
        
//! MIDI音樂(lè)格式
        AUDIO_FILE_TYPE_MIDI,
        
//! FLAC音頻格式
        AUDIO_FILE_TYPE_FLAC,     //! support!
        
//! 空的音頻格式
        AUDIO_FILE_TYPE_NULL
};

////////////////////////////////////////////////////////////
/// audio distance mode.  
////////////////////////////////////////////////////////////       
enum AUDIO_DISTANCE_MODE
{
    AUDIO_DISTANCE_MODEL 
= 0,
    AUDIO_INVERSE_DISTANCE,
        AUDIO_INVERSE_DISTANCE_CLAMPED,
    AUDIO_LINEAR_DISTANCE,
    AUDIO_LINEAR_DISTANCE_CLAMPED,
    AUDIO_EXPONENT_DISTANCE,
        AUDIO_EXPONENT_DISTANCE_CLAMPED,
        AUDIO_DISTANCE_MODE_NULL
};       

/////////////////////////////////////////////////////////
//! audio effect type.
/////////////////////////////////////////////////////////
enum AUDIO_EFFECT_TYPE  
{
    AUDIO_EFFECT_TYPE_REVERB 
= 0,          
        AUDIO_EFFECT_TYPE_EFXREVERB,         
    AUDIO_EFFECT_TYPE_CHORUS,           
        AUDIO_EFFECT_TYPE_DISTORTION,
        AUDIO_EFFECT_TYPE_ECHO,
        AUDIO_EFFECT_TYPE_FLANGER,
    AUDIO_EFFECT_TYPE_FREQUENCY_SHIFTER,
        AUDIO_EFFECT_TYPE_VOCAL_MORPHER,
        AUDIO_EFFECT_TYPE_PITCH_SHIFTER,
        AUDIO_EFFECT_TYPE_RING_MODULATOR,
        AUDIO_EFFECT_TYPE_AUTOWAH,
        AUDIO_EFFECT_TYPE_COMPRESSOR,
    AUDIO_EFFECT_TYPE_EQUALIZER,
        AUDIO_EFFECT_TYPE_NULL
};

/////////////////////////////////////////////////////////
//! audio filter type.
/////////////////////////////////////////////////////////
enum AUDIO_FILTER_TYPE
{
        AUDIO_FILTER_TYPE_LOWPASS,   
        AUDIO_FILTER_TYPE_HIGHPASS,
        AUDIO_FILTER_TYPE_BANDPASS,
        AUDIO_FILTER_TYPE_NULL
};

//! audio vel.
const float AUDIO_SPACE_VELOCITY = 343.0f;

//! doppler factor.
const float AUDIO_DOPPLER_FACTOR = 1.0f;

/////////////////////////////////////////////////////////
/// audio object.
/////////////////////////////////////////////////////////
class AudioObject
{
public:
        
virtual ~AudioObject(){}
public:
    
/////////////////////////////////////////////////////
        //! set,get audio object pos.
        /////////////////////////////////////////////////////
        virtual void SetPosition(float x,float y,float z) = 0;
        
virtual void GetPosition(float &x,float &y,float &z) = 0;
       
        
/////////////////////////////////////////////////////
        //! set,get audio object direction.
        /////////////////////////////////////////////////////
        virtual void SetDirection(float dirx,float diry,float dirz) = 0;
    
virtual void GetDirection(float &dirx,float &diry,float &dirz) = 0;

        
/////////////////////////////////////////////////////
        //! set,get audio object vel.
        /////////////////////////////////////////////////////
        virtual void SetVelocity(float velx,float vely,float velz) = 0;
    
virtual void GetVelocity(float &velx,float &vely,float &velz) = 0;

        
////////////////////////////////////////////////////
        //! move audio object(by offset.)
        ////////////////////////////////////////////////////          
    virtual void Move(float offsetx,float offsety,float offsetz) = 0;          
};

//////////////////////////////////////////////////////
/// audio capture interface.
//////////////////////////////////////////////////////
class AudioCapture
{
public:
        
virtual ~AudioCapture(){}
public:
    
//////////////////////////////////////////////////
        //! capture audio and stop it.
        //////////////////////////////////////////////////
        virtual void CaptureAudio() = 0;       
        
virtual void CaptureStop() = 0;       
};

/////////////////////////////////////////////////////////
/// object listener.
/////////////////////////////////////////////////////////
class AudioListener : public AudioObject
{
public:
    
/////////////////////////////////////////////////////
        //! set,get global volume(0.0f,1.0f)
        /////////////////////////////////////////////////////               
    virtual void  SetGlobalVolume(float volume) = 0;
        
virtual float GetGlobalVolume()const = 0;     
};

////////////////////////////////////////////////////////
//! audio source object
////////////////////////////////////////////////////////
class AudioSource : public AudioObject
{
public:
    
////////////////////////////////////////////////////
    //! play audio(2d mode.)
        ////////////////////////////////////////////////////
    virtual bool Play(const engine_string& audiofile,bool loop = false= 0;
       
    
////////////////////////////////////////////////////
    //! play audio(3d mode.)
        ////////////////////////////////////////////////////
    virtual bool Play(const engine_string& audiofile,bool loop,float mindist,float maxdist) = 0;       

        
////////////////////////////////////////////////////
    //! stop,pause audio.
        ////////////////////////////////////////////////////
    virtual bool Stop() = 0;
        
virtual bool Pause() = 0;

        
///////////////////////////////////////////////////
        //! check status.
        ///////////////////////////////////////////////////
        virtual bool IsPlay()const = 0;
        
virtual bool IsPause()const = 0;
        
virtual bool IsStop()const = 0;
       
        
///////////////////////////////////////////////////
        //! set,get volume[0.0f,1.0f]
        ///////////////////////////////////////////////////
        virtual void  SetVolume(float gain) = 0;
        
virtual float GetVolume()const = 0;  
        
virtual void  SetMaxVolume(float gain) = 0;
    
virtual float GetMinVolume()const = 0;
        
virtual void  SetMinVolume(float gain) = 0;
    
virtual float GetMaxVolume()const = 0;   

    
virtual void SetMaxDistance(float distance) = 0;
    
virtual void GetMaxDistance(float &distance)= 0;
    
virtual void SetMinDistance(float distance) = 0;
    
virtual void GetMinDistance(float &distance)= 0;
   
    
virtual void SetAudioCone(float innerangle,float outerangle,float outergain) = 0;
    
virtual void GetAudioCone(float &innerangle,float &outerangle,float &outergain) = 0;  
   
        
////////////////////////////////////////////////////
    //! get playing time.
        ////////////////////////////////////////////////////   
        virtual float GetTotalTime()const = 0;
        
virtual float GetCurTime()const = 0;

        
////////////////////////////////////////////////////
    //! able,disable effectr
        ////////////////////////////////////////////////////     
        virtual bool EnableEffect(AUDIO_EFFECT_TYPE type) = 0;
        
virtual void DisableEffect() = 0;
        
virtual bool IsEffectActive() = 0;
       
        
////////////////////////////////////////////////////
    //! able,disable filter.
        ////////////////////////////////////////////////////   
    virtual bool AttachFiler(AUDIO_FILTER_TYPE type) = 0;       
};


//////////////////////////////////////////////////////
//! audio device.
//////////////////////////////////////////////////////
class AudioDevice
{
public:      
        
/////////////////////////////////////////////////
    //! get audio device version.
        /////////////////////////////////////////////////
        virtual engine_string GetVerson() const = 0;

        
/////////////////////////////////////////////////
        //! get audio maker.
        /////////////////////////////////////////////////
        virtual engine_string GetMaker() const = 0;

        
/////////////////////////////////////////////////
        //! check given audio type is supported or not.
        /////////////////////////////////////////////////
    virtual bool IsSupport(const AUDIO_FILE_TYPE& type)const = 0;

        
/////////////////////////////////////////////////
        //! get audio source(personal edition for 5 sources.)
        /////////////////////////////////////////////////
        virtual AudioSource*  GetAudioSource() = 0;

        
/////////////////////////////////////////////////
        //! get listener pointer(only 1)
        /////////////////////////////////////////////////
    virtual AudioListener* GetAudioListener(float x,float y,float z) = 0;
   
        
/////////////////////////////////////////////////
        //! get audio capture pointer(personal edition for 1 capture.)
        /////////////////////////////////////////////////
    virtual AudioCapture* GetAudioCapture(const engine_string& name) = 0;

    
virtual void  SetMetersPerUnit(float meters) = 0;
    
virtual float GetMetersPerUnit(voidconst = 0;  
        
virtual int   GetMaxEffectMuber()const = 0;
       
        
/////////////////////////////////////////////////
        //! set doppler factor(1.0f,343.3)
        /////////////////////////////////////////////////
    virtual void  SetDoppler(float factor,float vel) = 0;

        
/////////////////////////////////////////////////
        //! set audio wolrd sistance model.
        /////////////////////////////////////////////////
        virtual void  SetDistanceModel(const AUDIO_DISTANCE_MODE &model) = 0;
       
        
/////////////////////////////////////////////////
        //! check given effect
        /////////////////////////////////////////////////       
        virtual bool  IsSupportAudioEffect(AUDIO_EFFECT_TYPE type) = 0;
};

/////////////////////////////////////////////////////
//! init audio device(return NULL for failed.)
/////////////////////////////////////////////////////
G_FUNC(AudioDevice*) InitAudioDevice();

/////////////////////////////////////////////////////
//! deinit audio device.
/////////////////////////////////////////////////////
G_FUNC(void)         TerminateAudioDevice();

}

#endif
//! maker:ccsdu2004

下載在這里:
http://www.duote.com/soft/28571.html

posted on 2010-10-26 08:57 ccsdu2009 閱讀(832) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Game引擎
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久国产精品午夜一区| 国产精品99久久久久久www| 欧美在线精品一区| 国产日韩欧美在线观看| 久久久久国内| 美女主播视频一区| 一区二区三区四区国产精品| 亚洲最新视频在线| 国产亚洲精品aa午夜观看| 久久婷婷综合激情| 欧美成人精品在线| 一区二区三区国产精品| 亚洲欧美日韩精品一区二区| 国产一区二区三区在线观看视频| 欧美另类专区| 亚洲欧美视频一区二区三区| 午夜精品一区二区三区在线播放| 亚洲欧美日韩国产成人精品影院| 久久视频精品在线| 一本一本久久a久久精品综合妖精| 久久激情五月丁香伊人| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧洲三级电影| 中日韩美女免费视频网站在线观看| 久久久女女女女999久久| 亚洲精选一区| 亚洲女同精品视频| 在线观看的日韩av| 一本色道久久综合| 1024日韩| 香蕉av777xxx色综合一区| 亚洲精品男同| 久久都是精品| 性色av一区二区三区红粉影视| 日韩午夜精品视频| 国语自产偷拍精品视频偷| 日韩一区二区电影网| 在线看成人片| 亚洲欧美自拍偷拍| 中文亚洲字幕| 欧美高清在线| 欧美电影在线观看| 国产精品自拍小视频| 91久久线看在观草草青青| 国产综合欧美在线看| 亚洲一区二区三区乱码aⅴ| 亚洲精品乱码久久久久| 久久色在线播放| 久久久www| 国产日产欧美精品| 亚洲夜间福利| 中国av一区| 欧美日韩第一区日日骚| 亚洲国产精品久久久久| 在线不卡中文字幕播放| 欧美一区激情视频在线观看| 亚洲摸下面视频| 国产精品a久久久久久| 日韩亚洲欧美精品| 夜色激情一区二区| 欧美日本在线一区| 亚洲精品久久久久久久久久久久| 欧美私人网站| 一区二区高清| 亚洲欧美日韩精品久久久久| 欧美日韩亚洲一区二| 亚洲美女精品一区| 亚洲性视频网站| 欧美亚一区二区| 一区二区三区免费网站| 欧美一级一区| 国产日韩欧美精品| 欧美一区二区三区在线播放| 欧美在线免费观看视频| 国产亚洲一区二区三区| 久久精品国产v日韩v亚洲| 麻豆精品精品国产自在97香蕉| 欧美三级电影网| 亚洲视频网站在线观看| 亚洲欧美日本日韩| 国产亚洲欧美日韩一区二区| 久久精品最新地址| 欧美国产日韩一区二区| 一区二区精品国产| 国产精品欧美一区喷水 | 欧美国产日韩一区二区| 欧美黄在线观看| 日韩视频第一页| 国产精品日韩欧美一区| 久久成人精品无人区| 亚洲高清在线播放| 亚洲午夜91| 狠狠色2019综合网| 欧美电影免费观看高清完整版| 小处雏高清一区二区三区| 国产农村妇女精品| 久久午夜色播影院免费高清| 亚洲精品国产无天堂网2021| 欧美一区二区三区日韩视频| 激情国产一区| 国产精品白丝黑袜喷水久久久| 亚洲国产精品t66y| 午夜精品免费| 亚洲国产专区校园欧美| 国产精品免费观看在线| 久久免费高清视频| 亚洲网友自拍| 欧美激情中文字幕一区二区| 亚洲一区二区欧美日韩| 精品成人在线视频| 国产精品久久久91| 麻豆视频一区二区| 欧美一区二区三区在线观看视频| 欧美在线高清| 99re6热只有精品免费观看| 国产日韩在线视频| 欧美三级在线| 久久漫画官网| 亚洲亚洲精品在线观看| 最新成人在线| 欧美成人a视频| 久久网站免费| 久久精品国产亚洲a| 亚洲一区欧美| 一区二区三区导航| 亚洲人体1000| 亚洲国产日韩在线一区模特| 好看的日韩av电影| 国产精品网站一区| 欧美性天天影院| 欧美日韩精品免费看| 欧美电影免费观看大全| 美国十次成人| 美女久久网站| 久久综合色影院| 久久国产主播精品| 久久国产精品久久精品国产| 亚洲女女女同性video| 亚洲图中文字幕| 亚洲视频福利| 亚洲性夜色噜噜噜7777| 一区二区三区日韩| 亚洲深夜影院| 亚洲视频中文字幕| 亚洲小视频在线观看| 亚洲综合好骚| 午夜欧美精品| 亚洲制服av| 欧美在线电影| 久久这里有精品视频| 蜜桃av一区| 欧美极品一区二区三区| 欧美日韩色综合| 国产精品扒开腿爽爽爽视频| 国产精品成av人在线视午夜片| 久久米奇亚洲| 欧美黄色片免费观看| 欧美日韩精品免费观看视一区二区 | 国产一区二三区| 激情欧美一区| 亚洲福利国产精品| 99国产麻豆精品| 亚洲影院高清在线| 久久大香伊蕉在人线观看热2| 亚洲久色影视| 亚洲一区二区精品在线观看| 午夜精品视频在线观看一区二区| 136国产福利精品导航网址应用 | 一区二区三区日韩精品| 亚洲小说欧美另类社区| 久久成人免费日本黄色| 欧美高清视频www夜色资源网| 欧美一级欧美一级在线播放| 欧美中文字幕在线播放| 欧美成人综合一区| 国产精品jvid在线观看蜜臀| 国产午夜精品一区理论片飘花| 欧美私人啪啪vps| 国产亚洲欧美日韩在线一区 | 久久精品日韩| 欧美精品尤物在线| 国产亚洲精品美女| 亚洲三级色网| 久久国产综合精品| 亚洲欧洲综合另类| 性娇小13――14欧美| 欧美日韩第一页| 狠狠色丁香婷婷综合影院| 一区二区三区久久网| 久热爱精品视频线路一| 亚洲三级免费观看| 久久久久久久一区二区| 国产精品多人| 日韩视频第一页| 久久久青草婷婷精品综合日韩| 久久国内精品视频| 99国产欧美久久久精品| 久久亚洲二区| 狠狠狠色丁香婷婷综合久久五月 | 另类春色校园亚洲|