mfc mcisendstringg函数怎么用

问一个c语言的mciSendString函数播放mp3的问题【程序员吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:102,594贴子:
问一个c语言的mciSendString函数播放mp3的问题收藏
最近看了看mciSendString函数,写了一小段程序,但是执行时输入1后音乐暂停了播放,但是继续输入7后,没有回复播放就直接结束程序了~~~~
这是怎么回事啊~~~~
求指教,谢谢了 #include &windows.h&#include &stdio.h&#pragma comment(lib, &WINMM.LIB&void main(){ mciSendString(L&open G:\\mp3\\平凡之路.mp3 alias music&, NULL, 0, NULL); mciSendString(L&play music&, NULL, 0, NULL); printf(&请输入数字进行操作,输入0结束播放,输入1暂停播放\n&); scanf(&%d&, &c); if (c == 0) {
mciSendString(L&close music&, NULL, 0, NULL); } if (c == 1)
mciSendString(L&pause music&, NULL, 0, NULL);
printf(&输入数字7恢复播放\n&);
scanf(&%d&,&c);
mciSendString(L&resume music&, NULL, 0, NULL); }}
程序员?来上市公司博为峰学软件技术,零基础授课,零元入学,就业有保障!程序员?学软件技术要学多久?学软件技术毕业起薪8K,入学即签就业协议!
我刚刚试了一下,问题在于mciSendString(L&resume music&, NULL, 0, NULL);执行完后程序直接结束了,建议在if(c==7){ mciSendString(L&resume music&, NULL, 0, NULL);getchar();getchar();}之所以要两个getchar,是因为scanf在取出数据的时候,会留一个\n在缓冲区
登录百度帐号推荐应用11:17 提问
c++6.0控制台程序,使用mcisendstring函数播放mp3文件,没有声音
执行play()函数中,代码:
char a[100]="";
char c='1';
while(c!='9')
if(p0==NULL)
printf("找不到可以播放的歌曲\n");
printf("开始播放歌曲\n");
strcpy(a,"");
strcat(a,"open ");
strcat(a,p0-&path);
strcat(a," alias media");
printf("%s
%s\n",p0-&path,p0-&name);
//p0 从d:\mp3.txt文件中读出MP3文件的路径path和名称name,为当前指针,指向结构体(由文件的路径path、名称name两项构成)
mciSendString(a,NULL,0,NULL);
strcpy(a,"play media");
printf("\n");
printf("*******&&&&&&
正在播放:%s
&&&&&&&*******\n",p0-&name);
printf("\n");
mciSendString(a,NULL,0,NULL);
Sleep(5 * 60 * 1000);
play_menu();//循环嵌套终止,上一首,下一首
getchar();
scanf("%c",&c);
我的MP3.txt路径为d:\mp3.txt
内容为path:d:\01.mp3
name:baba
path:d:\02.mp3
name:mama
path:d:\03.mp3
name:gege
如果要播放path:d:\02.mp3
name:mama
那么我的这个音乐文件放在什么路径,名称是什么?
其他相关推荐MciSendString函数录音问题【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:548,267贴子:
MciSendString函数录音问题收藏
我用C语言使用MciSendString函数进行录音,采样率,声道位数,声道数都分别用指令改为44100Hz,16bit,双声道。但是录音下来的文件还是11025Hz,8bit,单声道。求解!!!部分代码如下:void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify){if(id==IDC_BUTTON2)//开始录音按钮{HWND RADIO1=GetDlgItem(hwnd, IDC_RADIO1);HWND RADIO2=GetDlgItem(hwnd, IDC_RADIO2);HWND RADIO3=GetDlgItem(hwnd, IDC_RADIO3);HWND RADIO6=GetDlgItem(hwnd, IDC_RADIO6);HWND RADIO7=GetDlgItem(hwnd, IDC_RADIO7);HWND RADIO8=GetDlgItem(hwnd, IDC_RADIO8);HWND RADIO9=GetDlgItem(hwnd, IDC_RADIO9);if((Button_GetCheck(RADIO6))==TRUE)mciSendString ("set wave bitpersample 8", "", 0, 0);if((Button_GetCheck(RADIO7))==TRUE)mciSendString ("set wave bitpersample 16", "", 0, 0);if((Button_GetCheck(RADIO1))==TRUE)mciSendString ("set wave samplespersec 11025", "", 0, 0); if((Button_GetCheck(RADIO2))==TRUE)mciSendString ("set wave samplespersec 22050", "", 0, 0);if((Button_GetCheck(RADIO3))==TRUE)mciSendString ("set wave samplespersec 44100", "", 0, 0);if((Button_GetCheck(RADIO8))==TRUE)mciSendString ("set wave channels 1", "", 0, 0);if((Button_GetCheck(RADIO9))==TRUE)mciSendString ("set wave channels 2", "", 0, 0);mciSendString ("set wave format tag pcm","", 0, 0);mciSendString ("close movie",0,0,0);mciSendString ("open new type WAVEAudio alias wave",0,0,0);mciSendString ("record wave",0,0,0);HWND button = GetDlgItem(hwnd,IDC_BUTTON2);SetWindowText(button,"正在录音...");mark = 1;}if(id==IDC_BUTTON3)//结束并保存录音按钮{char address[256];GetDlgItemText(hwnd,IDC_EDIT1,address,sizeof(address));wsprintf(cmd,"save wave %s",address);mciSendString ("stop wave",0,0,0);mciSendString (cmd,0,0,0);mciSendString ("close wave",0,0,0);HWND button = GetDlgItem(hwnd,IDC_BUTTON2);SetWindowText(button,"开始录音");if(mark==1){wsprintf(cmd,"保存成功!已保存至%s",address);MessageBox(hwnd,TEXT(cmd),TEXT("MediaPlayer"),MB_OK);mark = 0;}else if(mark==0){wsprintf(cmd,"请先开始录音!",address);MessageBox(hwnd,TEXT(cmd),TEXT("MediaPlayer"),MB_OK);}}}
c语言哪里好?达内,0基础入学,无专业要求,先就业后付款,毕业&薪&起点.c语言哪里好?达内C语言课程,独创TTS8.0授课模式,一线名师授课.
mciSendString ("set wave bitpersample 16", "", 0, 0);mciSendString ("set wave samplespersec 44100", "", 0, 0);mciSendString ("set wave channels 2", "", 0, 0);这三条指令根本没效果啊 求解!!!
楼主解决了吗。。我发现我不管怎么调采样率,出来的都不变
UINT record(int bitspersample,long int samplespersec,int channels){MCI_OPEN_PARMSmciopenparms.lpstrDeviceType = &waveaudio&;//文件类型mciopenparms.lpstrElementName=&&;mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(DWORD)(LPMCI_OPEN_PARMS)&mciopenparms);UINT m_DeviceID=mciopenparms.wDeviceID;MCI_WAVE_SET_PARMSmciwavesetparms.wFormatTag = WAVE_FORMAT_PCM;mciwavesetparms.nChannels =mciwavesetparms.wBitsPerSample =mciwavesetparms.nSamplesPerSec =mciwavesetparms.nAvgBytesPerSec = ((mciwavesetparms.wBitsPerSample)/8)*mciwavesetparms.nChannels*mciwavesetparms.nSamplesPerSmciwavesetparms.nBlockAlign = ((mciwavesetparms.wBitsPerSample)/8)*mciwavesetparms.nCmciSendCommand(m_DeviceID,MCI_SET,MCI_WAIT|MCI_WAVE_SET_FORMATTAG|MCI_WAVE_SET_BITSPERSAMPLE|MCI_WAVE_SET_CHANNELS|MCI_WAVE_SET_SAMPLESPERSEC|MCI_WAVE_SET_AVGBYTESPERSEC|MCI_WAVE_SET_BLOCKALIGN,(DWORD)(LPVOID)&mciwavesetparms);MCI_RECORD_PARMSmciSendCommand(m_DeviceID,MCI_RECORD,NULL,(DWORD)(LPMCI_RECORD_PARMS)&mcirecordparam);return m_DeviceID;}
登录百度帐号推荐应用mciSendString用法
19:43:53| 分类:
本文已收录于以下专栏:
相关文章推荐
这里借助了建立对话程序的插件,在VC中建一个简单的对话框工程,拖入一个按钮ID取&IDC_OK&。文件结构如下:
MainDlg.h:
#ifndef _MAIN_H
#define _M...
假设你正在学习游戏编程,随着学习的深入,终于要开始学习音乐播放了,能让自己编写的游戏播放音乐,那是件多么美好的事情啊!
于是乎,你根据MCI的相关资料,简单编写了一个音乐播放程序,代码如下:
(注:本文以 ;年七月的 MSDN 解释为准)
MCI Command String 是多媒体设备的程序接口。通过它,我们可以打开一个多媒体文件,例如 mp3 , VCD , M...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 mcisendstringa 的文章

 

随机推荐