ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:15.77KB ,
资源ID:4841379      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4841379.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(使用API函数mciSendString构成的媒体播放类.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

使用API函数mciSendString构成的媒体播放类.docx

1、使用API函数mciSendString构成的媒体播放类使用API函数mciSendString构成的媒体播放类使用API函数mciSendString构成的媒体播放类.txt我自横刀向天笑,笑完我就去睡觉。 你的手机比话费还便宜。路漫漫其修远兮,不如我们打的吧。/* * C#没有提供播放MP3等音频文件的类, * 要编写播放MP3等音频文件程序, * 必须使用第三方控件或类。 * 本文使用API函数mciSendString, * 编写一个播放MP3等音频文件的类。 */using System;using System.Collections.Generic;using System.Co

2、mponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace 使用API函数mciSendString构成的媒体播放类 public partial class Form1 : Form string path; public Form1() InitializeComponent(); clsMCI mci = null; priva

3、te void button1_Click(object sender, EventArgs e) mci = new clsMCI(); mci.FileName =path; this.progressBar1.Maximum = mci.Duration; mci.play(); this.timer1.Enabled = true; private void button2_Click(object sender, EventArgs e) if (mci = null) else this.timer1.Enabled = false; mci.StopT(); private vo

4、id button3_Click(object sender, EventArgs e) OpenFileDialog op = new OpenFileDialog(); if (op.ShowDialog() = DialogResult.OK) path = op.FileName; private void Form1_Load(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e) this.progressBar1.Value = mci.CurrentPosition; if

5、 (mci.CurrentPosition=mci.Duration) this.timer1.Enabled = false; public class clsMCI public clsMCI() / / TODO: 在此处添加构造函数逻辑 / /定义API函数使用的字符串变量 MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260) private string Name = ; MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128) private string durLength = ; M

6、arshalAs(UnmanagedType.LPTStr, 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 Sta

7、te state; ; public structMCI mc = new structMCI(); / / 取得播放文件属性 / public string FileName get return mc.iName; set /ASCIIEncoding asc = new ASCIIEncoding(); try TemStr = ; TemStr = TemStr.PadLeft(127, Convert.ToChar( ); Name = Name.PadLeft(260, Convert.ToChar( ); mc.iName = value; ilong = APIClass.Ge

8、tShortPathName(mc.iName, Name, Name.Length); Name = GetCurrPath(Name); /Name = open + Convert.ToChar(34) + Name + Convert.ToChar(34) + alias media; Name = open + Convert.ToChar(34) + Name + Convert.ToChar(34) + alias media; ilong = APIClass.mciSendString(close all, TemStr, TemStr.Length, 0); ilong =

9、 APIClass.mciSendString(Name, TemStr, TemStr.Length, 0); ilong = APIClass.mciSendString(set media time format milliseconds, TemStr, TemStr.Length, 0); mc.state = State.mStop; catch MessageBox.Show(出错错误!); / / 播放 / public void play() TemStr = ; TemStr = TemStr.PadLeft(127, Convert.ToChar( ); APIClass

10、.mciSendString(play media, TemStr, TemStr.Length, 0); mc.state = State.mPlaying; / / 停止 / public void StopT() TemStr = ; TemStr = TemStr.PadLeft(128, Convert.ToChar( ); ilong = APIClass.mciSendString(close media, TemStr, 128, 0); ilong = APIClass.mciSendString(close all, TemStr, 128, 0); mc.state =

11、State.mStop; / / / public void Puase() TemStr = ; TemStr = TemStr.PadLeft(128, Convert.ToChar( ); ilong = APIClass.mciSendString(pause media, TemStr, TemStr.Length, 0); mc.state = State.mPuase; / / / / / private string GetCurrPath(string name) if (name.Length 1) return ; name = name.Trim(); name = n

12、ame.Substring(0, name.Length - 1); return name; / / 总时间 / public int Duration get durLength = ; durLength = durLength.PadLeft(128, Convert.ToChar( ); APIClass.mciSendString(status media length, durLength, durLength.Length, 0); durLength = durLength.Trim(); if (durLength = ) return 0; durLength=durLe

13、ngth.Substring(0,durLength.IndexOf(0); return (int)(Convert.ToDouble(durLength) / 1000f); / / 当前时间 / public int CurrentPosition get durLength = ; durLength = durLength.PadLeft(128, Convert.ToChar( ); APIClass.mciSendString(status media position, durLength, durLength.Length, 0); durLength = durLength

14、.Substring(0, durLength.IndexOf(0); mc.iPos = (int)(Convert.ToDouble(durLength) / 1000f); return mc.iPos; public class APIClass DllImport(kernel32.dll, CharSet = CharSet.Auto) public static extern int GetShortPathName( string lpszLongPath, string shortFile, int cchBuffer ); DllImport(winmm.dll, EntryPoint = mciSendString, CharSet = CharSet.Auto) public static extern int mciSendString( string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback );

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1