mcisendstring 放不了音乐,完全没有声音,很简单的代码,但就是没声音
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mcisendstring 放不了音乐,完全没有声音,很简单的代码,但就是没声音相关的知识,希望对你有一定的参考价值。
#include <windows.h>
#pragma comment (lib, "winmm.lib")
void main()
mciSendString("play C:\1.mp3", NULL,0,NULL);
其次,多媒体播放要在gui程序中进行。控制台程序就别想这么弄了。这是主要问题所在。编写个win32 application的程序吧,肯定行。附上我的代码:
#include <windows.h>
#include "resource.h"
#pragma comment (lib,"winmm.lib")
BOOL CALLBACK DialogProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
switch(uMsg)
case WM_CLOSE:
DestroyWindow(hwndDlg);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_COMMAND:
if(LOWORD(wParam)==IDB_PLAY)
mciSendString("play D:\\娱乐\\歌曲\\music\\爱江山更爱美人.mp3",NULL,NULL,NULL);
break;
return FALSE;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_DIALOG),NULL,DialogProc,NULL);
return 0;
参考技术A 字符串里面的斜杠要双写
……哦楼上说了我才发现,调用之后要getchar()一下不然程序就退出了囧
mciSendString为啥有的MP3音乐播放不出来
GetShortPathName(szFile,str,sizeof(str));
//mciSendString函数在处理长文件名、中文文件名、空格等会有些问题,用此函数解决这类问题。
ListBox_InsertString(hwnd1,-1,str);
mciSendString(stop,"",0,NULL);
wsprintf(cmd,"play %s",str);
mciSendString(cmd,"",0,NULL);//播放音乐函数
wsprintf(stop,"close %s",str);
wsprintf(abc,"setaudio %s volume to %d",str,v);
mciSendString(abc,"",0,NULL); 用这段去播放音乐的时候,有的音乐可以播,有的就不行,不是文件名和路径问题,是怎么回事啊,照百度百科那样,第一句就说CStatic 没有定义,还有别人说的Dim 也是没有定义,怎么回事啊,我用的是VC6.0 难道我是用错了函数?做一个小播放器,是用什么函数的啊?
TCHAR szBuffer[256] = 0;
TCHAR Buffer[256] = 0;
wsprintf(szBuffer,L"cg.mp3");
wsprintf(Buffer,L"open %s",szBuffer);
mciSendString(Buffer,NULL,0,NULL); //打开设备
wsprintf(Buffer,L"play %s repeat",szBuffer);
mciSendString(Buffer,NULL,0,NULL); //播放
将上面的改为:
TCHAR szBuffer[256] = 0;
TCHAR Buffer[256] = 0;
wsprintf(szBuffer,L"cg.mp3");
wsprintf(Buffer,L"open \"%s\"",szBuffer);
mciSendString(Buffer,NULL,0,NULL); //打开设备
wsprintf(Buffer,L"play \"%s\" repeat",szBuffer);
mciSendString(Buffer,NULL,0,NULL); //播放 参考技术B mciSendString函数,我在实验N次后,发现文件路径不能有空格,如:路径中的文件有“Program Files”这个文件夹包含了空格。这个路径将被视为无效路径而不予执行其他有关操作,同时在播放之前和退出程序之前插入一条关闭指令:mciSendString "close " & 音乐文件, vbNullString, 0, 0 (注:“音乐文件”为全局变量,音乐文件=文件路径+文件名),绝对有好处!
以上是关于mcisendstring 放不了音乐,完全没有声音,很简单的代码,但就是没声音的主要内容,如果未能解决你的问题,请参考以下文章