mciSendString为啥有的MP3音乐播放不出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 (注:“音乐文件”为全局变量,音乐文件=文件路径+文件名),绝对有好处!
C语言中mciSendString用法
用mciSendString来播放音乐。
已经能打开MP3并播放。但是不知道要怎么暂停,终止播放。
mciSendString("pause movie",buf,sizeof(buf),NULL);没有用(或者说我不知道要怎么用)
要怎么弄?
该函数有四个参数:
第一个参数:要发送的命令字符串。字符串结构是:[命令][设备别名][命令参数];
第二个参数:返回信息的缓冲区,为一指定了大小的字符串变量;
第三个参数:缓冲区的大小,就是字符变量的长度;
第四个参数:回调方式,一般设为零;
返回值:函数执行成功返回零,否则返回错误代码。
参考用法如下:
Dim mName as string
mName = "f:\\mpeg\\mpeg1.avi"
mciSendString "open mName type MPEGVideo Alias movie parent %u Style %u notify",0&, 0, 0
以上是关于mciSendString为啥有的MP3音乐播放不出来的主要内容,如果未能解决你的问题,请参考以下文章