码迷,mamicode.com
首页 > 其他好文 > 详细

Simple2D-18(音乐播放器)使用 bass 音频库

时间:2017-07-25 10:23:59      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:case   lan   cti   ogg   soft   name   file   dma   vol   

 

BASS 简介


 

  BASS是一个在多个平台上用于软件的音频库。其目的是为开发人员提供功能强大且高效的示例流(MP3,MP2,MP1,OGG,WAV,AIFF),MOD 音乐(XM,IT,S3M,MOD ,MTM,UMX),MO3 音乐(MP3 / OGG压缩MOD)和录音功能。提供了 C / C ++,Delphi 和 Visual Basic API,适用于AndroidiOSWindows Store / PhoneWinCE 和 ARM Linux 平台。

  BASS 对于非商业用途是免费的。如果您是非商业实体(例如个人),并且您没有从您的产品(通过销售,广告等)赚钱,那么您可以免费使用BASS。

 

  你可以在这个链接 http://www.un4seen.com 下载 BASS:

技术分享

 

  这次的播放器就是使用 BASS 播放音频文件,下载 BASS 后将文件 bass.lib、bass.dll 和 bass.h 拷贝到项目即可。

 

使用 BASS


 

  配置好并引入头文件 bass.h 后,通过以下代码播放音频文件:

 

        BASS_Init(-1, 44100, 0, 0, nullptr);

        HSTREAM stream = BASS_StreamCreateFile(FALSE, "filename", 0, 0, 0);
        BASS_ChannelPlay(stream, FALSE);

        /* 播放结束 */
        //BASS_StreamFree(stream);

 

 

  进度调节:

        /* 获取播放进度 */
        double pos = BASS_ChannelBytes2Seconds(stream, BASS_ChannelGetPosition(stream, BASS_POS_BYTE));

        /* 设置播放进度 */
        BASS_ChannelSetPosition(stream, BASS_ChannelSeconds2Bytes(stream, pos), BASS_POS_BYTE);

 

  音量调节:

        /* 设置 stream 音量,0 - 10000 */
        BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, 200);

        /* 获取 stream 音量,0 - 10000 */
        BASS_GetConfig(BASS_CONFIG_GVOL_STREAM);

 

        /* 获取系统音量 */
        float volume = BASS_GetVolume();

        /* 设置系统音量 */
        BASS_SetVolume(volume);

 

  获取频谱数据:

        static float fft[128];
        BASS_ChannelGetData(stream, fft, BASS_DATA_FFT256);

 

  获取播放状态:

        DWORD result = BASS_ChannelIsActive(stream);
        switch ( result ) {
        case BASS_ACTIVE_PAUSED:  return PS_Paused;
        case BASS_ACTIVE_PLAYING: return PS_Playing;
        case BASS_ACTIVE_STOPPED: return PS_Stopped;
        }

  以上是这次播放器用到的 BASS API,详细内容可以查看 BASS 帮助文档,也可以阅读 BASS 演示源码。

 

BASS 封装


 

  将 BASS API 封装成一个类,从而管理所有的音频文件。可以设计一个单例类 SoundManager,以便在任何位置实现音频文件的管理。由于播放器不需要复杂的功能,所以将上面的 BASS API 进行添加到单例类中即可。

  详细内容请参考源码。

 

 

  源码下载:Simple2D-14.rar

Simple2D-18(音乐播放器)使用 bass 音频库

标签:case   lan   cti   ogg   soft   name   file   dma   vol   

原文地址:http://www.cnblogs.com/ForEmail5/p/7230270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!