C语言播放音乐(DOS)
来源:互联网 发布:软件实施服务合同范本 编辑:程序博客网 时间:2024/05/20 16:33
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
#include <string>
using namespace std;
char buf[50];
MCIERROR mcierror;
string song_name,mci_string;
char time_all[60];
int dwlong;
bool first_song=true;
void play();
void main()
{
song_name="cg.mp3";
first_song=false;
play();
while (1)
{
mciSendString("status 设备1 position",buf,sizeof(buf),NULL);//获取播放歌曲的进度,
int position=atoi(buf);//转化为整型数据
printf("当前进度:%d\r",position);
if(position>=dwlong)
{
mciSendString("close 设备1",buf,sizeof(buf),NULL); //这一布至关重要,要先把已经播放完的设备先关闭,因为不能够出现同名的设备名"设备1"!!
if (first_song==false)
{
song_name="cg.mp3";
first_song=true;
}
else
{
song_name="cg.mp3";
first_song=false;
}
position=0;
system("cls");
play();
}
Sleep(1000);//Sleep()的功能是让主调进程休息一个时间段执行睡眠,时间段过后继续调度,参数是毫秒级,1000毫秒=1秒,在这里是每隔一秒刷新一次显示频...
}
}
void play()
{
mci_string="open "+song_name+" alias 设备1";
mcierror=mciSendString(mci_string.c_str(),buf,50,NULL);//命令"open 1.mp3 alias 设备1"也可以写成"open 1.mp3 type mpegvideo alias 设备1",不写的话系统会自己寻找对应设备。"alias 设备1"是另外起名为设备1,以后播放的时候直接用"设备1"即可。
if (mcierror)
{
mciGetErrorString(mcierror,buf,strlen(buf));
printf("%s",buf);
return;
}
mciSendString("set 设备1 time format TMSF",buf,50,NULL);//设置时间格式为分秒格
mciSendString("status 设备1 length ",buf,sizeof(buf),NULL); //获取歌曲长度信息
dwlong=atoi(buf);//把时间转化为整数。
printf("歌曲名称:%s\n歌曲长度:%d\n",song_name.c_str(),dwlong);
mciSendString("play 设备1 repeat",buf,50,NULL);//如果要单首歌曲循环播放。"play 设备1 repeat"
}
- C语言播放音乐(DOS)
- C语言播放音乐
- c语言播放音乐
- C语言怎样播放音乐
- C语言播放MP3音乐
- c语言 写的播放音乐
- C语言切换壁纸和播放音乐
- c语言 实现音乐旋律播放
- c语言基于炫彩界面库音乐播放器
- C#winfrom播放音乐
- 音乐播放器 c语言版
- c++/mfc 播放音乐,视频文件
- C播放音乐,存个档吧RUN_IN_TC
- C实现音乐播放器
- C语言音乐发音
- Linux环境下C语言编写的播放音乐的例子
- 采用easyX插件进行C语言编写的贪吃蛇,自带播放音乐
- 基于C语言控制台程序的简易MP3音乐播放器
- Qt QString mannual
- 读书笔记_第三章
- 一个简单的HibernateCallback接口的调用
- 串口握手协议的XON\XOFF原理
- MASM的反反汇编技术
- C语言播放音乐(DOS)
- Hibernate学习笔记六
- crontab 使用
- Linux终端中文软件zhcon0.2.6的安装使用
- c#简单打印
- Android Handler 主线程 子线程 双向通信
- VC中互斥的使用
- 终于能烧写了
- 配置Eclipse来解决 no xxx in java.library.path问题