使用Cocos2d 3。
我正在尝试弄清楚如何在加载的效果/声音中播放声音或音乐的时间/毫秒。
本质上是cocosDenshion类的setTime方法?
有人有什么想法吗?或者这是我可以贡献的东西吗?
答案 0 :(得分:2)
您可以在一段时间之后调用计划表,例如
this->scheduleOnce(schedule_selector(HelloWorld::sound_method), 0.5);
void Helloworld::sound_method(float ty)
{ CocosDenshion::SimpleAudioEngine::getInstance( )->playEffect("Byuuton_yap.mp3"); }
这里0.5是时间,0.5秒后调用sound_method。 我希望,这个答案有助于某人
答案 1 :(得分:1)
你可以这样做:
auto sae = CocosDenshion::SimpleAudioEngine::getInstance();
someSprite->runAction(Sequence::createWithTwoActions(DelayTime::create(time), CallFunc::create([&](){ sae->playEffect("mySound.wav"); })));
Wav应该比其他扩展名具有最小的延迟。
您也可以预加载它:
sae->preloadEffect("mySound.wav");
如果你需要高精度的话,仍然无法保证你会在完美的时间进行,但这是一个硬件问题。