none
MCI消息方式 如何控制 wav 播放速度 ?? RRS feed

  • 问题

  • 用mciSendCommand()发送WINDOWS消息(不是发送Srting)播放wav文件,怎样控制播放速度呢?提高播放速度到1.5倍,2倍?

    在网上找了好久,没有结果,请指教小弟,谢谢各位大大咯 ^_^
    2009年5月19日 8:49

答案

全部回复

  • MCI_DGV_SET_SPEED
    MSMVP VC++
    2009年5月19日 16:37
    版主
  • oh my god, 居然是蒋晟回答我的问题......受宠若惊中.... 
    我经常在csdn.net发帖,这个帖子也发过一次,但没有答案

    斑竹,我是这样写的,可是没有效果:

    #include "Digitalv.h"
    void ****::OnButton3()   //提速
    {
       MCI_DGV_SET_PARMS setParms;
       setParms.dwSpeed = (DWORD)(10*1000.0);
       mciSendCommamd(m_wDeviceID, MCI_SET, MCI_DGV_SET_SPEED, (DWORD)(LPSTR)&setParms);
    }

    不知道问题出在何处?谢谢指教
    2009年5月23日 12:03
  • 用mciGetErrorString看看返回值
    MSMVP VC++
    2009年5月23日 12:08
    版主
  • void ****::OnButton3()   //提速
    {
       char buf9[50];
       MCIERROR mciError;

       MCI_DGV_SET_PARMS setParms;
       setParms.dwSpeed = (DWORD)(10*1000.0);
       mciError = mciSendCommamd(m_wDeviceID, MCI_SET, MCI_DGV_SET_SPEED, (DWORD)(LPSTR)&setParms);

       if(mciError)
       {
          mciGetErrorString(mciError, buf, strlen(buf));
          AfxMessageBox(buf);
       }
    }

    提示文字:使用的MCI设备不支持指定的命令。

    网上有类似代码是调整视频播放速度的,难道对wav就没办法设置速度了?谢谢指教
    2009年5月23日 12:22
  • 那是设备的问题。换个技术吧。

    MSMVP VC++
    2009年5月23日 12:24
    版主
  • 需要什么样的设备才能满足这个需求呢?

    2009年5月23日 12:33
  • 谢谢斑竹,非常荣幸,我改用activemovie3暂时解决这个问题先
    2009年5月23日 12:44