如何防止显示MCI窗口?

时间:2019-03-09 11:18:51

标签: c mci

基于用户@FarewellStackExchange的出色回答How to play or open *.mp3 or *.wav sound file in c++ program?(我希望他仍然在我们身边),我实现了使用Windows Media Control Interface(MCI)播放mp3音频的功能(请参见{ {3}}。

但是我也希望它播放视频文件中的音频而不显示视频。我那里有一个问题,因为视频窗口总是短暂显示(闪烁)。所以我的问题是:现在有没有人在发出play命令之前在 前禁用/隐藏窗口?还是有人知道另一种方式,例如不使用MCI?

以下是一个最小的示例:

#include <windows.h>
#pragma comment(lib, "Winmm.lib")

void mciExample(void)
{
    mciSendString("open \"myVideo.wmv\" type mpegvideo alias mymp3", 0,0,0);
    //
    // now the device "mymp3" is created. The following command will play the video:
    //
    mciSendString("play mymp3 from 0", 0,0,0);
    //
    // The following command hides the window, but it is first briefly shown.
    // How to avoid that? Placing the command before the "play" command has no effect.
    //
    mciSendString("window mymp3 state hide", 0,0,0);
}

0 个答案:

没有答案