我正在使用cocos2dx的SimpleAudioEngine。 (我需要使用它,而不是新的AudioEngine)。
我尝试为Win32的SimpleAudioEngine实现音调功能但是我被卡住了。
当使用SimpleAudioEngine时,cocos2dx使用MCI进行音频播放。 (MCI ref:https://msdn.microsoft.com/en-us/library/windows/desktop/dd742874(v=vs.85).aspx)。
我无法弄清楚如何实现音高功能。还有setVolume,但它的实现也是空的(cocos2dx家伙我没想实现它)。我正在使用cocos2d-x v.3.3 c ++。我发现有一个dwSpeed变量可用于改变播放速率,但我无法弄清楚如何使用它。
这就是我的所作所为:
void MciPlayer::SetSpeed(DWORD dwSpeed)
{
tagMCI_VD_PLAY_PARMS mciSetParms;
DWORD dwFlags;
if (!_dev)
return ;
mciSetParms.dwSpeed = dwSpeed;
mciSendCommand(_dev, MCI_PLAY, MCI_FROM|MCI_NOTIFY,
reinterpret_cast<DWORD_PTR> (&mciSetParms));
}
这是MciPlayer的cpp文件: http://pastebin.com/BNyC7FEK
在这种特定情况下是否有机会实施音调?或者MCI不支持这个?如果有任何MCI极客,请帮忙!
我猜这是一项非常具有挑战性的任务。
谢谢你的时间!
克里斯