Windows编程——实践_题

来源:互联网 发布:网络视频课程快进方法 编辑:程序博客网 时间:2024/06/14 21:47

先说一说<Windows编程——实践>中最后的那个题目

因为要把路径和指令(例如play、stop)连起来成为一个字符串,所以用到sprintf函数,有兴趣的话还可以去查一下sprinf函数的详细用法,比较方便、可控性高。sprintf就是能将格式化字符串,类似printf的输出一样输出到一个字符串里。在增加代码那一块增加:

sprintf(path, "open %s alias music", path);//合成指令,定音乐代名为music  mciSendString(path, NULL, 0, NULL);//执行指令,打开设备  //…..接下来的控制就很轻松了  mciSendString("play music", NULL, 0, NULL);//开始播放  Sleep(20000);//播放二十秒音乐  mciSendString("pause music", NULL, 0, NULL);//暂停播放  printf("您已听音乐20秒,暂停五秒音乐继续\n");  Sleep(5000);//暂停五秒  mciSendString("resume music", NULL, 0, NULL);//恢复播放  printf("按任意键结束播放\n");  getchar();  mciSendString("stop music", NULL, 0, NULL);//结束播放  

这样就是一个简单的音乐播放器了,注意:路径记得要写上文件名和后缀哦,还有,播放WAV格式音乐也可以的
代码完整拼起来: 
 
#include <stdio.h>
 
#include <windows.h>
 
#include <mmsystem.h>
 
#pragma comment(lib, "winmm.lib")

 
int main(void)
 
{
    
char path[50] = {0}, path1[50] = {0};

    
printf("请输入您要播放的MP3路径:");
    
scanf("%s", path);

    
//用音乐播放函数实现音乐播放
    
sprintf(path1, "open %s alias music", path);//合成指令,定音乐代名为music
    
mciSendString(path1, NULL, 0, NULL);//执行指令,打开设备

    
//..接下来的控制就很轻松了
    
mciSendString("play music", NULL, 0, NULL);//开始播放 
    
printf("按回车键(Enter)结束播放\n");  

    
//延迟代码
    
getchar();//清空一下缓冲区
    
getchar();//暂停住
    
mciSendString("stop music", NULL, 0, NULL);//结束播放
 
    
return 0;
 
}

0 0