zoukankan      html  css  js  c++  java
  • MP3播放器

    使用方法:把想要播放的音乐的路径输入textBook中,然后,点击输入路径就可以了。

                   输入之后一定要加歌曲后缀   ".mp3".

    代码如下:

     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;

    namespace mp3播放
    {
    class Mp3
    {
    public Mp3()
    {
    }
    //定义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 = "";
    int ilong;
    //定义播放状态枚举变量
    public enum State
    {
    mPlaying = 1,
    mPuase = 2,
    mStop = 3
    };
    //结构变量
    public struct structMCI
    {
    //public bool bMut;
    //public int iDur;
    //public int iVol;
    //public int iBal;
    public string iName;
    public State state;
    public int iPos;
    };

    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
    {
    MessageBox.Show("出错错误!");
    }
    }
    }

             //播放
            public void play()
            {
                TemStr = "";
                TemStr = TemStr.PadLeft(127, Convert.ToChar(" "));
                APIClass.mciSendString("play media", TemStr, TemStr.Length, 0);
                mc.state = State.mPlaying;
            }
           
           
            private string GetCurrPath(string name)
            {
                if (name.Length < 1) return "";
                name = name.Trim();
                name = name.Substring(0, name.Length - 1);
                return name;
            }
          
        }
        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
            );
        }
    }
     

    队长 :和彦鹏

    合作人:何仁东,和彦鹏,李华飞,马钦佩,张送,申笑楠,徐坤鹏

    需求分析:

    总结,每个人都有不同的想法,每个人的意见也是没有完全统一,在项目开发的过程中,学到了很多在课堂上学不到的知识。 

             一个人的力量是有限的,但是团队的力量很强大,不仅可以获取知识,还能得到许多意想不到的东西。

  • 相关阅读:
    Spring Boot (20) 拦截器
    Spring Boot (19) servlet、filter、listener
    Spring Boot (18) @Async异步
    Spring Boot (17) 发送邮件
    Spring Boot (16) logback和access日志
    Spring Boot (15) pom.xml设置
    Spring Boot (14) 数据源配置原理
    Spring Boot (13) druid监控
    Spring boot (12) tomcat jdbc连接池
    Spring Boot (11) mybatis 关联映射
  • 原文地址:https://www.cnblogs.com/herengdong666/p/4946154.html
Copyright © 2011-2022 走看看