基于用户@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);
}