zoukankan      html  css  js  c++  java
  • cocos2d-x 添加背景音乐和音效-SimpleAudioEngine

    首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类,

    #include "SimpleAudioEngine.h" 

    CocosDenshion引擎库实际上是对系统音频API的封装,因此它支持的音频文件格式与平台有关。具体不同平台的格式支持请查阅资料,通常我们就用各个平台都支持的格式,音乐:mp3;音效:wav。

    具体的使用做一个简单的介绍,比较简单:

    音乐:同一时间,只能有一个背景音乐在播放。

    void preloadBackgroundMusic( 音乐文件);    //加载音乐
    void playBackgroundMusic( 音乐文件, bool); //播放音乐, true代表循环播放, false代表不循环
    void pauseBackgroundMusic();              //暂停
    void resumeBackgroundMusic();             //继续
    void stopBackgroundMusic();               //停止
    void rewindBackgroundMusic();             //从头播放
    bool isBackgroundMusicPlaying();          //是否正在播放
    void setBackgroundMusicVolume();          //设置音量
    float getBackgroundMusicVolume();         //获取音量

    声音:与音乐不同的是,同一时间可以有多个音效在播放,引擎在播放音效的时候会返回该次播放音效的ID,方便之后的控制。

    void preloadEffect( 音效文件 )
    void unloadEffect( 音效文件 )
    int playEffect( 音效文件, 是否重复 ) //返回一个音效id作为标识
    void stopEffect( 音效ID )
    void stopAllEffects() 
    void pauseEffect( 音效ID )
    void pauseAllEffects()
    void resumeEffect( 音效ID )
    void resumeAllEffects() 
    float getEffectsVolume()
    void setEffectsVolume() 

    这里呢,在播放音效的时候需要指定是否循环播放,默认是不循环。音效还有一点,就是没有“是否正在播放”的判断,如果需要判断的话,需要该引擎底层,自己仿照音乐播放判断的方式写一个。

    SimpleAudioEngine是个单例类,使用方式:SimpleAudioEngine::sharedEngine()->playEffect( 音效文件 );

    注意:

    播放背景音乐前,一定要提前加载背景音乐文件,音效不需要。
    在退出后且不再需要音乐时,要调用end()方法来释放引擎占用的资源。

  • 相关阅读:
    Linux中文件夹的读、写、执行权限
    限制提权与sudo -s
    shell支持正则:Linux shell判断字符串是否以某些字符开头
    Linux ssh ftp 用户访问权限
    set ff=unix 转换 为 linux 执行shell报bad interpreter:No such file or directory错误
    Sftp服务器搭建和限制用户目录
    ssh 配置文件讲解大全 ssh调试模式 sftp scp strace进行调试 特权分离
    PAM API
    ssh的chroot配置
    PAM详解(一)PAM介绍
  • 原文地址:https://www.cnblogs.com/gl5773477/p/3972367.html
Copyright © 2011-2022 走看看