我正在使用 cocos2dx 的 SimpleAudioEngine。(我需要使用它,而不是新的 AudioEngine)。
我尝试为 Win32 的 SimpleAudioEngine 实现音高功能,但我被卡住了。
cocos2dx 在使用 SimpleAudioEngine 时使用 MCI 进行音频播放。(MCI 参考: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 极客,请提供帮助!
我想这是一项相当具有挑战性的任务。
谢谢你的时间!
克里斯