zoukankan      html  css  js  c++  java
  • 用MCI处置WAV视频时,怎样才能让视频在当前窗口播放

    用MCI处理WAV视频时,怎样才能让视频在当前窗口播放
    MCI播放视频默认是新开一个窗口播放,播放完毕返回原来的窗口,想着原来窗口播放如何做?

    mciSendCommand或mciSendString怎样在播放avi时不弹出另一个窗口播放,我需要在之前设计好的窗口里播放。

    我的代码:

    //mciSendCommand

    void mic_avi_play(char say_or_wmv[])
    {

     MCIDEVICEID dev[20];
     MCI_OPEN_PARMS mciOpen;
     MCI_PLAY_PARMS mciPlay;

     mciOpen.lpstrElementName="sola.wmv";
     if(mciSendCommand(NULL,MCI_OPEN, MCI_OPEN_ELEMENT ,
      (DWORD)&mciOpen)==0)
      dev[0]=mciOpen.wDeviceID;
     else
      mciOpen.wDeviceID=dev[0];
     
     
     mciPlay.dwFrom = 0;
     mciSendCommand(mciOpen.wDeviceID,MCI_PLAY,MCI_NOTIFY | MCI_FROM,(DWORD)&mciPlay);
    }

    //mciSendString

    void OnMyMenu(HWND hWnd)
    {

    mciSendString("open sola.wmv alias aa",NULL,0,hWnd);
    mciSendString("play aa wait",NULL,0,hWnd);
    mciSendString("close aa",NULL,0,hWnd);

    }

    //两个函数是一个效果

    ------解决方案--------------------
    再OPEN之后,PLAY之前,发送MCI_WINDOW消息

    可以参考下面的例子
    MCI_DGV_WINDOW_PARMS WindowParms;

    WindowParms.dwCallback = NULL;
    WindowParms.hWnd = m_StaticAVI.GetSafeHwnd();
    WindowParms.nCmdShow = SW_SHOW;
    WindowParms.lpstrText = (LPSTR) NULL;
    mciSendCommand( mciOpen.wDeviceID, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD)&WindowParms );
     
    jpg改rar
  • 相关阅读:
    Jmeter的两种录制脚本的方式
    【.NET】设置EntityFramework中decimal类型数据精度 [转]
    vscode格式化vue不换行
    mysql5.7 noinstall 安装 【转载】
    配置STP、RSTP以及负载均衡
    配置3层交换机VLAN间通信
    配置单臂路由
    配置DTP
    配置trunk
    配置VLAN
  • 原文地址:https://www.cnblogs.com/kuangke/p/6626865.html
Copyright © 2011-2022 走看看