• 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
            );
        }
    }
     

    队长 :和彦鹏

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

    需求分析:

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

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

  • 相关阅读:
    asp.net中ashx文件如何调用session
    NetAdvantage webdatagrid 控件的一些属性
    .NET 配置文件简单使用
    Dictionary的遍历和修改
    利用html+ashx实现aspx的功能
    .ashx
    jQuery AJAX实现调用页面后台方法
    用JS实现AJAX
    WCF系列学习5天速成
    介绍一个小工具 Linqer
  • 原文地址:https://www.cnblogs.com/herengdong666/p/4946154.html
Copyright © 2020-2023  润新知