【问题标题】:Playing Multiple Sound effects issue in cocos2d-xcocos2d-x 播放多重音效问题
【发布时间】:2014-12-31 16:52:30
【问题描述】:

我有一个 3 秒长的音效,需要重复播放 10 到 15 秒的时间。实现如下:

SimpleAudioEngine::sharedEngine()->playEffect(powerUpSound, true);

但是当我播放另一个音效时,之前的音效 (powerUpSound) 会停止。

SimpleAudioEngine::sharedEngine()->playEffect(starsSounds, false);

如何同时播放它们?

我正在使用Cocos2d-x v2.2.3

【问题讨论】:

  • 如果您不使用背景音乐,那么您可以使用SimpleAudioEngine::sharedEngine()->playBackgroundMusic(); 播放其中一首您使用Android 设备运行您的应用程序吗?
  • 是的,我使用的是安卓设备,我在游戏中也有背景音乐,所以无法播放其中一种效果作为背景音乐。
  • 我知道 Android SoundPool 类存在问题,但它与文件大小和持续时间有关,但您的文件似乎没问题。我想到的唯一解决方法是创建一个 SimpleAudioEngine 的新实例,然后播放您的声音

标签: c++ cocos2d-x cocos2d-x-2.x


【解决方案1】:

我认为这不是一个很好的解决方案,但我正在做的是绕过 SimpleAudioEngine 并使用它所连接的任何东西来播放声音:

#include "AudioEngine.h" 

std::string music_path = "gethit.mp3";
experimental::AudioEngine::play2d(music_path.c_str())

我认为这会泄漏内存或其他东西,因此您在使用时需要小心。我所知道的是,它可以让你在 Android 上同时播放多种音效。

【讨论】:

  • 事实上,如果有人告诉我为什么这是个坏主意,我很想知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多