护栏厂家
免费服务热线

Free service

hotline

010-00000000
护栏厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

C中用API实现MP3等音频文件的播放类

发布时间:2020-06-30 21:53:54 阅读: 来源:护栏厂家

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 ;

}

//停止

济宁制作工作服

做工程服

山西西服厂

制做衬衫