C++ 在多线程中使用mciSendString播放音乐 下篇

首先:

我还是一个多线程编程的新手,用的方法可能有不妥当的地方,有不足之处还望各位包涵。


通过上一篇,咱们已经对mciSendString在多线程中的使用要点有了一个初步认识,接下来该解决线程间信息传递的问题了。不过在这之前,先要进行一些准备工作。

首先,为了方便管理音乐,建立一个音乐类是很有必要的,这个类里面应该包括音乐的基本信息(文件路径、音量等)和状态信息(正在播放、停止、未打开等),假定这个音乐类编写如下:

class Music
{
protected:
	int	m_ID;				//编号,用于判断是否是同一个对象
	static int m_nNewID;		//下一个可用编号

	std::string filepath;	//为""表示不改变路径,否则改变音乐文件路径
	int Volume;	//音量,为负数表示不改变
	long StartPosition;	//音乐开始位置,为负数表示不改变
	long EndPosition;	//音乐结束位置,为负数表示不改变
	int NowPosition;		//用于记录暂停时的音乐位置

	bool StopPlayFlag;	//暂停播放的标志
	bool RepeatFlag;	//循环播放的标志
	bool KillFocusFlag;		//失去焦点标志
	bool SetFocusFlag;		//获取焦点标志

	//标志位,用于获取音乐状态
	bool Playing;	//是否正在播放
	bool Stopped;	//是否停止
	bool Opened;	//是
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值