注册 登录
编程论坛 VC++/MFC

为什么这个音量调节没有起到效果?声音大得吓死人啊

拉拉面 发布于 2018-10-19 23:45, 2031 次点击
代码是这样的。。
#include <windows.h>
#include <mmsystem.h>
#include <stdio.h>
#pragma comment(lib, "Winmm.lib")

int main(int argc, char *argv[])
{
    TCHAR fileName[]="BGM1.mp3";
    TCHAR shortName[MAX_PATH];
    GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));
    //printf("shortName = %s\n",shortName);
    TCHAR cmd[MAX_PATH+10];
    wsprintf(cmd,"play %s",shortName);
    //printf("cmd = %s\n",cmd);
    mciSendString(cmd,NULL, 0, NULL);
    //mciSendString("play SOMEON~1.mp3",NULL, 0, NULL); //一句话播放mp3
    TCHAR volume[256]; // 音量(字符串)
    int nVolume; // 音量(整型)
    wsprintf(cmd, "status %s volume", fileName); // szPath 为音乐的路径
    mciSendString(cmd,volume,sizeof(volume),0); // 获取当前音量至 volume 字符串中
    nVolume = atoi(volume); // 字符串转化为整型
    wsprintf(cmd, "setaudio %s volume to %i", fileName, nVolume - 200); // 生成媒体命令,设置音量减 200
    mciSendString(cmd,"",0,NULL); // 执行媒体命令
    Sleep(5 * 60 * 1000); //这里是防止一播放就结束做的延迟
    return 0;
}

这个音量调节的方法是在网上找的,但是没用啊,有人教教吗。
1 回复
#2
拉拉面2018-10-25 00:26
没人回答啊
1