c#用mcisendstring API播放mp3

这是一个关于如何使用C#语言结合Windows Multimedia API(mciSendString)来播放MP3文件的示例。代码中包含了打开、播放、暂停、设置音量、设置播放速度和声道等操作,支持多种媒体格式。通过指定设备别名NOWMUSIC,实现了对MCI设备的控制。
摘要由CSDN通过智能技术生成

using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.IO; namespace WindowsApplication2 { class Media { [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)] private static extern int mciSendString( string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback ); [DllImport("winmm.dll", EntryPoint = "mciGetDeviceID", CharSet = CharSet.Auto)] private static extern int mciGetDeviceID(string lpstrName); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] public static extern int GetShortPathName( string lpszLongPath, string shortFile, int cchBuffer ); public enum PlayTypeName : byte { File = 1, CDAudio = 2, VCD = 3, RealPlay = 4 } public enum AudioSource : byte { H = 0, L = 1, R = 2 } public enum Playstate : byte { Stopped = 1, Playing = 2, Pause = 3 } public enum PlayStyle : byte { 顺序 = 1, 随机 = 2, 循环 = 3 } public PlayTypeName PlayType; public int Temp; //零时变量 工程中将使用 public String SongName; //储存当前真正播放的歌曲名称 public string PreSongName; public string NextSongName; public int SongIndex; //储存当前播放的歌曲列表的位置 public int totalSong; public PlayStyle PlayerStyle;//播放模式 public int Valume;//音量大小 public AudioSource audiosource; public bool IsSlowly;//播放速度 /// <summary> /// 获取DeviceID /// </summary> /// <returns>返回设备类型</returns> public int GetDeviceID() { return mciGetDeviceID("NOWMUSIC"); } /// <summary> /// 根据文件名,确定设备 /// </summary> /// <param name="ff">文件名</param> /// <returns></returns> public string GetDriverID(string ff) { string result = ""; ff = ff.ToUpper().Trim(); switch (ff.Substring(ff.Length - 3)) { case "MID": result = "Sequencer"; break; case "RMI": result = "Sequencer"; break; case "IDI": result = "Sequencer"; break; case "WAV": result = "Waveaudio"; break; case "ASX": result = "MPEGVideo2"; break; case "IVF": result = "MPEGVideo2"; break; case "LSF":

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值