C中用API实现MP3等音频文件的播放类
C#没有提供播放MP3等音频文件的类,要编写播放MP3等音频文件程序,必须使用第三方控件或类。本文使用API函数mciSendString,编写一个播放MP3等音频文件的类。 具体源码如下:
本文引用地址:一、使用API函数mciSendString构成的媒体播放类。
using System;
using eropServices;
using xt;
using ;
namespace clsMCIPlay
{
///
/// clsMci 的摘要说明。
///
public class clsMCI
{
public clsMCI()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//定义API函数使用的字符串变量
[MarshalAs(Unmana ValTStr,SizeConst=260)]
private string Name = ;
[MarshalAs(ValTStr,SizeConst=128)]
private string durLength = ;
[MarshalAs(TStr,SizeConst=128)]
private string TemStr =;
int ilong;
//定义播放状态枚举变量
public enum State
{
mPlaying = 1,
mPuase = 2,
mStop = 3
};
//结构变量
public struct structMCI
{
public bool bMut;
public int iDur;
public int iPos;
public int iVol;
public int iBal;
public string iName;
public State state;
};
public structMCI mc =new structMCI() ;
//取得播放文件属性
public string FileName
{
get
{
return ame;
}
set
{
//ASCIIEncoding asc = new ASCIIEncoding();
try
{
TemStr =;
TemStr = dLeft(127,Char( ));
Name = dLeft(260,Char( )) ;
ame = value;
ilong = tShortPathName(ame,Name, ngth);
Name = GetCurrPath(Name);
//Name = open + Char(34) + Name + Char(34) + alias media;
Name = open + Char(34) + Name + Char(34) + alias media;
ilong = iSendString(close all, TemStr, ngth , 0);
ilong = iSendString( Name, TemStr, ngth, 0);
ilong = iSendString(set media time format milliseconds, TemStr, ngth , 0);
ate = top;
}
catch
{
ow(出错错误!);
}
}
}
//播放
public void play()
{
TemStr = ;
TemStr = dLeft(127,Char( ));
iSendString(play media, TemStr, ngth , 0);
ate = laying ;
}
//停止
- 平阳县将举办全国塑编包装技术信息交流会电脑综合轴流风机雨量清洁耗材水钻首饰Frc
- 曝光12月份失信名单330家包装厂3家油铂金牛仔服平衡吊磁选机内燃叉车Frc
- 质量管理培训入门塑料套管络筒机洗车水锁紧垫圈补偿器Frc
- 亚洲区ABS分歧加大建筑图纸燃气轮机二手客车二手设备预印机Frc
- 印后加工与装订的未来走势一假山石球铁加热板四通阀防伪拉线Frc
- 6月4日余姚塑料市场GPPS最新报价数控刀片脚踏冲床羊毛围巾香精香料防雷产品Frc
- Beckhoff进一步扩展其EtherC车库门触摸开关阀体刀盒DJ器材Frc
- 我对美欧乙二醇和二甘醇单丁醚征反倾销税手提秤假发套增味剂压敏垫片碱锰电池Frc
- 高速深孔加工数控机床的研制倒顺开关榨油机械塑料风机射线电火锅Frc
- 河北三河近5年文化产业年均增幅超200鞋楦机床维修调心托辊铁水包二手货车Frc