首页
统计
关于
Search
1
电脑微信企业微信双开/多开的方法(这可能是最简单粗暴高效的解决方案)
1,083 阅读
2
网址自动推送百度API源码(PHP源码)(百度php推送源代码)
590 阅读
3
宝塔面板7.7.0版本原版安装+升级脚本(宝塔面板7.6.0破解版)
555 阅读
4
宝塔LINUX企业永久付费破解版(宝塔企业版破解版)所有专业版企业版插件免费使用!
470 阅读
5
宝塔面板插件破解方法(宝塔面板插件破解方法教程)
392 阅读
闲聊
WinForm
WinForm成品
WinForm源码
WinForm代码段
E语言
E成品
E源码
WEB
PHP代码
网站文章
网站源码
建站程序
BT
Discuz!
DZ模板
DZ插件
Typecho
Typecho模板
Typecho插件
网络安全
软件工具
技术教程
线报
域名
登录
Search
标签搜索
宝塔面板
源码
PHP
BT
百度
Typecho
谷歌翻译
IP
C#进程守护
进程守护
Winform进程守护
宝塔企业版
宝塔专业版
监控报表
建站程序
Winform除法
winform窗体透明背景实现
网络检测
宝塔面板卸载
去掉index.php
CN-Root
累计撰写
107
篇文章
累计收到
158
条评论
今日撰写
0
篇文章
首页
栏目
闲聊
WinForm
WinForm成品
WinForm源码
WinForm代码段
E语言
E成品
E源码
WEB
PHP代码
网站文章
网站源码
建站程序
BT
Discuz!
DZ模板
DZ插件
Typecho
Typecho模板
Typecho插件
网络安全
软件工具
技术教程
线报
域名
页面
统计
关于
用户登录
登录
搜索到
1
篇与
winform播放mp3音频
的结果
2022-06-11
WinForm播放mp3音频代码段
#region 播放音频 public class Mp3Player { //定义API函数使用的字符串变量 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] private string Name = ""; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] private string durLength = ""; [MarshalAs(UnmanagedType.LPTStr, SizeConst = 128)] private string TemStr = ""; private 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 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.GetShortPathName(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 = APIClass.mciSendString(Name, TemStr, TemStr.Length, 0); ilong = APIClass.mciSendString("set media time format milliseconds", TemStr, TemStr.Length, 0); mc.state = State.mStop; } catch { } } } //播放 public void play() { TemStr = ""; TemStr = TemStr.PadLeft(127, Convert.ToChar(" ")); APIClass.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 = 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 = name.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; 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); 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 ); } #endregion /* *下面的代码可以放到按钮控件内 /* #region 播放 Mp3Player mp3Play = new Mp3Player() { FileName = @"C:\ProgramData\User\music.mp3", }; mp3Play.play(); #endregion #region 暂停 Mp3Player mp3Play = new Mp3Player() { }; mp3Play.Puase(); #endregion
2022年06月11日
24 阅读
0 评论
0 点赞