3

我正在使用 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 极客,请提供帮助!

我想这是一项相当具有挑战性的任务。

谢谢你的时间!

克里斯

4

0 回答 0