cocos2d-之音乐背景播放

1.先加入头文件

#include <SimpleAudioEngine.h>
using namespace CocosDenshion;//为了方便以下的函数使用,使用命名空间

2.在init()函数里面加入代码:

    //(有些新手)在运行以下的代码,出现无法识别SimpleAudioEngine的原因就是没有载入SimpleAudioEngine.h头文件。

    SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("F:/mp3/骆集益-仙剑奇侠传四背景音乐之战斗曲二.mp3");

   //预载入,这句话,看你需求怎么。能够不要
    SimpleAudioEngine::sharedEngine()->playBackgroundMusic("F:/mp3/骆集益-仙剑奇侠传四背景音乐之战斗曲二.mp3",true);

   //播放,true代表为循环播放。

以下是播放一些音效

  //预载入背景音乐
  SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( "F:/mp3/骆集益-仙剑奇侠传四背景音乐之战斗曲二.mp3" );
  //播放背景音乐
  SimpleAudioEngine::sharedEngine()->playBackgroundMusic("F:/mp3/骆集益-仙剑奇侠传四背景音乐之战斗曲二.mp3");
  //预载入音效
  SimpleAudioEngine::sharedEngine()->preloadEffect("F:/mp3/骆集益-仙剑奇侠传四背景音乐之战斗曲二.mp3");
  //播放音效
 SimpleAudioEngine::sharedEngine()->playEffect("F:/mp3/骆集益-仙剑奇侠传四背景音乐之战斗曲二.mp3");

 3.这也算是一个重要的步骤,那就是释放操作,我们进行播放的时候,

内部代码进行了初始化的操作,

而程序关闭后。默认不会帮我们进行释放,

所以我们结束后程序之前,须要自己去释放。

(事实上对于熟悉dx 和opnegl的都会知道进行这个操作,由于我们曾自己写过算比較底层的操作,如今我们用的cocos2d封装好的类进行操作,

所以有基础的去学习某个游戏引擎和框架都有作用的)

那怎么操作?

 重写这个函数   void onExit();

并在里面加入代码

void HelloWorld::onExit()
{
 SimpleAudioEngine::sharedEngine()->end();
 CCLayer::onExit();
}

 以下就是关于能播放的音乐和音效格式的介绍:

     CocosDenshion引擎库实际上是对系统音频API的封装。因此它支持的音频文件格式与平台有关。

                                                                                                             CocosDenshion支持的音乐格式

   平台

 支持的常见文件格式

l    备注

  Android

  mp3、mid、ogg和wav

l    能够播放android.media.

l    MediaPlayer所支持的全部格式

  iOS

  aac、caf、mp3、m4a和wav

l    能够播放AVAudioPlayer

l    所支持的全部格式

 Windows

    mid、mp3和wav

l   


 CocosDenshion支持的音效格式

    平台

   支持的常见文件格式

l    备注

    Android

  ogg和wav

l    对wav的支持并不完美

    iOS

  caf和wav

l    能够播放Cocos2d-iPhone

l    CocosDenshion所支持的全部格式

l   Windows

    mid和wav

l   


原文地址:https://www.cnblogs.com/gccbuaa/p/6751954.html