C#读取歌曲列表获取单个音乐文件信息

Visual C#读取歌曲列表文件,并获取单个音乐文件信息,功能还有返回一个歌曲对象、获取歌曲名称、获取歌手名、自动播放下一首、切歌,ture上一首,false下一首、更新路径、单曲循环、随机播放等。

站在用户的角度思考问题,与客户深入沟通,找到新疆网站设计与新疆网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖新疆地区。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace MyMusicBox
{
    /// <summary>
    /// 歌曲列表
    /// </summary>
    [Serializable]
    class PlayList
    {
        public static List<Song> song = new List<Song>();//存储所有歌曲
        public static List<Song> play = new List<Song>();//存储播放列表
        public static int id = 1;//当前播放歌曲编号,非索引,id-1=索引
        /// <summary>
        /// 播放歌曲
        /// </summary>
        /// <returns>返回一个歌曲对象</returns>
        public static Song Play()
        {
            //如果播放集中存在对象
            if (play.Count>0)
                return play[id - 1];
            else
                return null;
        }
        /// <summary>
        /// 获取歌曲名
        /// </summary>
        /// <returns></returns>
        public static string GetName()
        {
            //如果播放集合为空
            if (play.Count ==0)
                return "当前无播放歌曲";
            else
                return play[id - 1].Name;
        }
        /// <summary>
        /// 获取歌手名
        /// </summary>
        /// <returns></returns>
        public static string GetSinger()
        {
            //如果播放集合为空
            if (play.Count == 0)
                return " ";
            else
                return "一" + play[id - 1].Singer;
        }
        /// <summary>
        /// 自动下一首
        /// </summary>
        public static void PlayNext()
        {
            //如果当前播放为最后一首,编号重置为1
            if (id == play.Count)
                id = 1;
            else
                id++;
        }
        /// <summary>
        /// 切歌,ture上一首,false下一首
        /// </summary>
        public static void Cut(bool temp)
        {
            if (play.Count == 0)
                return;
            //修改状态为cut,使主窗体song对象清空
            play[id - 1].SongState = SongPlayState.cut;
            //上一首,如果已经是第一首就切换最后一首
            if (temp)
            {
                if (id ==1)
                    id=play.Count;
                else
                    id--;
            }
            //下一首,如果已经是最后一首就切换第一首
            else
            {
                if (id == play.Count)
                    id = 1;
                else
                    id++;
            }
        }
        /// <summary>
        /// 更新路径
        /// </summary>
        public static void Update()
        {
            foreach (Song s in play)
            {
                foreach (Song s1 in song)
                {
                    if (s.Name == s1.Name)
                    {
                        s.FileName = s1.FileName;
                    }
                }
            }
        }
        /// <summary>
        /// 单曲循环
        /// </summary>
        public static void PlayOne()
        {
                int temp = id - 1;
                id = temp;
        }
        /// <summary>
        /// 随机
        /// </summary>
        public static void PlayRandom()
        {
            Random r = new Random();
            id = r.Next(1, play.Count);
        }
    }
}

文章名称:C#读取歌曲列表获取单个音乐文件信息
浏览路径:https://www.cdcxhl.com/article36/gjjpsg.html

成都网站建设公司_创新互联,为您提供小程序开发企业网站制作响应式网站网站设计公司App设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发