一.C#模拟酷我音乐盒

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;namespace DamonMusic
{public partial class Form1 : Form{private String[] songs;private String[] lyrics;private String[] pics;private int songPointer = 0;private Label[] lyricLabels = new Label[100];public Form1(){InitializeComponent();}// type = 1 下一首 type = -1 上一首private int checkBound(int songPointer, int type){Boolean arrivedMaximum = false;Boolean arrivedMinimum = false;if(type == 1)songPointer += 1;else{songPointer -= 1;}if (songPointer == songs.Length) {arrivedMaximum = true;}if (songPointer == -1){arrivedMinimum = true;}if (arrivedMaximum) {songPointer = 0;}if (arrivedMinimum) {songPointer = songs.Length - 1;}return songPointer;}private void Form1_Load(object sender, EventArgs e){songs = Directory.GetFiles("song", "*.mp3");lyrics = Directory.GetFiles("lyric", "*.lrc");pics = Directory.GetFiles("image", "*.jpg");//相对路径if (songs.Length != 0){axWindowsMediaPlayer1.URL = songs[songPointer];LyricFiles lyricFiles = new LyricFiles();lyricFiles.LoadLyric(lyrics[songPointer]);int yStep = 0;for (int i = 0; i < lyricFiles.lstLyric.Count; i++){Label lblLyric = new Label();lblLyric.Size = new System.Drawing.Size(500, 30);lblLyric.BackColor = Color.Transparent;lblLyric.ForeColor = Color.White;lblLyric.Font = new System.Drawing.Font("微软雅黑", 14);lblLyric.Text = lyricFiles.lstLyric[i].strLyric;lblLyric.Location = new Point(60, yStep);yStep += 40;lyricLabels[i] = lblLyric;this.Controls.Add(lblLyric);}this.BackgroundImage = Image.FromFile(pics[songPointer]);//songPointer = checkBound(songPointer,1);}else axWindowsMediaPlayer1.URL = null;axWindowsMediaPlayer1.Ctlcontrols.stop();//初始化 准备工作pnlControlBar.BackColor = Color.FromArgb(127, 200, 200, 200);}

3.1 歌曲播放设定实现

        bool isplay = false;private void pictureBox9_Click(object sender, EventArgs e){isplay = !isplay;//播放歌曲if (isplay){lblShowDuration.Text = axWindowsMediaPlayer1.currentMedia.durationString;axWindowsMediaPlayer1.Ctlcontrols.play();picPlay.BackgroundImage = Properties.Resources.pause_circle_o;}else//暂停播放{axWindowsMediaPlayer1.Ctlcontrols.pause();picPlay.BackgroundImage=Properties.Resources.play_circle_o;}//打开文件//  Encoding encode = Encoding.GetEncoding("GB2312");//  FileStream fs=new FileStream ("音阙诗听-红昭愿.lrc",FileMode .Open );//  StreamReader  sr=new StreamReader (fs,encode  );// //  string line = sr.ReadLine();//  //操作文件//  //richTextBox1.Text = sr.ReadToEnd();//  //关闭文件//  sr.Close();//  fs.Close();}private void pictureBox10_Click(object sender, EventArgs e){isplay = true;for (int i = 0; i < 100; i++){if (lyricLabels[i] == null) {continue;}this.Controls.Remove(lyricLabels[i]);}

3.2歌词显示实现

                songPointer = checkBound(songPointer, 1);axWindowsMediaPlayer1.URL = songs[songPointer];axWindowsMediaPlayer1.Ctlcontrols.play();picPlay.BackgroundImage = Properties.Resources.pause_circle_o;LyricFiles lyricFiles = new LyricFiles();lyricFiles.LoadLyric(lyrics[songPointer]);int yStep = 0;for (int i = 0; i < lyricFiles.lstLyric.Count; i++){Label lblLyric = new Label();lblLyric.Size = new System.Drawing.Size(500, 30);lblLyric.BackColor = Color.Transparent;lblLyric.ForeColor = Color.White;lblLyric.Font = new System.Drawing.Font("微软雅黑", 14);lblLyric.Text = lyricFiles.lstLyric[i].strLyric;lblLyric.Location = new Point(60, yStep);yStep += 40;lyricLabels[i] = lblLyric;this.Controls.Add(lblLyric);}this.BackgroundImage = Image.FromFile(pics[songPointer]);}private void pictureBox8_Click(object sender, EventArgs e){isplay = true;for (int i = 0; i < 100; i++){if (lyricLabels[i] == null){continue;}this.Controls.Remove(lyricLabels[i]);}songPointer = checkBound(songPointer, -1);axWindowsMediaPlayer1.URL = songs[songPointer];axWindowsMediaPlayer1.Ctlcontrols.play();picPlay.BackgroundImage = Properties.Resources.pause_circle_o;LyricFiles lyricFiles = new LyricFiles();lyricFiles.LoadLyric(lyrics[songPointer]);int yStep = 0;for (int i = 0; i < lyricFiles.lstLyric.Count; i++){Label lblLyric = new Label();lblLyric.Size = new System.Drawing.Size(500, 30);lblLyric.BackColor = Color.Transparent;lblLyric.ForeColor = Color.White;lblLyric.Font = new System.Drawing.Font("微软雅黑", 14);lblLyric.Text = lyricFiles.lstLyric[i].strLyric;lblLyric.Location = new Point(60, yStep);yStep += 40;lyricLabels[i] = lblLyric;this.Controls.Add(lblLyric);}this.BackgroundImage = Image.FromFile(pics[songPointer]);}}
}

C#模拟酷我音乐盒源代码相关推荐

  1. java模拟时钟源代码_Android实现模拟时钟(简单+漂亮)--时针、分针、秒针

    前言 前不久在网上看见Android实现的模拟时钟,感觉十分有意思,这里是地址: 秒表.笔者突然对其有了兴趣,也想去实现以下自己的模拟时钟.折腾了一阵子总算是弄出来了 现在将实现方式共享出来,大家一些 ...

  2. 全球最火的程序员学习路线!java私塾初级模拟银源代码

    一.背景 我们日常在电商网站购物时经常会遇到一些高并发的场景,例如电商 App 上经常出现的秒杀活动.限量优惠券抢购,还有我们去哪儿网的火车票抢票系统等,这些场景有一个共同特点就是访问量激增,虽然在系 ...

  3. STM32 模拟IIC源代码 多个I2C减少冗余代码

    当设计中使用I2C的数量多于1个时,其底层I2C的代码逻辑都是一样的,只有IO口变了,为此还要复制粘贴.修改IO,不仅费时,而且还浪费片内资源,因此可以使用指针来重复执行IIC底层代码,实现一个代码, ...

  4. ServerSuperIO Designer IDE 发布,打造物联网通讯大脑,随心而联。附:C#驱动源代码。

    1.概况 注:ServerSuperIO Designer IDE 同行业网友随便使用,不涉及到软件使用限制的问题. 从2015年到现在的将近两年的时间,一直在开发.完善ServerSuperIO(S ...

  5. 模拟幂律分布(附C语言代码)

    模拟幂律分布,每个时间步长增加一个点,从两个点开始,度高(即k大)的点优先获得新连接,即一个度为的节点,获得连接的概率为 这样模拟下去,度分布满足 在时,有 实际模拟时,当时,有 编程的一些思路 1. ...

  6. Python项目实战学习案例--股票模拟交易系统

    Python学习案例–股票模拟交易系统 源代码地址:https://gitee.com/wujize188_admin/mini_stock.git 主要技术 后台:Flask框架,sqlalchem ...

  7. matlab 地震正演程序,seismic-forward 地球物理勘探中,基础的地震波正演模拟程序,包括五个 (高阶中心差分 matlab 266万源代码下载- www.pudn.com...

    文件名称: seismic-forward下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Visual C++ 文件大小: 2985 KB 上传时间: 2014-08-06 下载次数 ...

  8. 4位数码管protues模拟

    4位数码管protues模拟 实验目的及内容 这次我们进行的实验是使用arduino驱动一块共阴四位数码管.实验的目的是:第一位显示1,第二位显示2,第三位显示3,第四位显示4,每次只显示一位,显示间 ...

  9. 从《黑客帝国》说起,我们如何证明这个世界不是一个系统?

    大数据文摘出品 来源:nautil 尽管<黑客帝国>第四部带给我们的震撼已不如前作,但我们仍能回想起20多年前看第一部时的激动. 以及那样的一部作品带给我们的思考. 正如在电影开头,尼奥的 ...

最新文章

  1. Java多线程——Thread Runnable源码解析
  2. AutoBench的使用分析
  3. 【无标题】科大星云诗社动态20220109
  4. PineApple_Ninja.js
  5. corn表达式的简单使用
  6. Ubuntu下使用VNC
  7. 用windows通过xrdp远程连接到ubuntu16后 Tab键无法使用
  8. 好用的ASP.NET 分页类 简单好用 支持 AJAX 自定义文字
  9. ActivityMQ
  10. wegame显示密保服务器,wegame英雄联盟设置 | 手游网游页游攻略大全
  11. LVGL开发 | lv_lib_100ask之lvgl数字对拼图小游戏(lv_100ask_memory_game)-接口简单、使用便捷
  12. 斑马打印机 ZPL打印
  13. Linux显示2015年日历表
  14. 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
  15. 数据库 实验二 数据库的单表查询和连接查询
  16. 安全狗2周年“全民大抽奖”活动
  17. 【转载】递推公式的特征方程及通项公式
  18. Application received signal SIGSEGV
  19. 分享一个好用的在线加解密工具
  20. 学习Direct3D的好地方

热门文章

  1. 3-Springboot集成FLOWABLE之 流程节点动态显示审批人信息
  2. 失去亲人的感觉是多么的心痛啊!我终于没有控制住自己。
  3. 管理案例:如何杜绝上司的越级指挥?
  4. 三星s8自带测试硬件软件,三星S8评测:最强硬件组合的性能怪兽
  5. 年薪40万Java开发在阿里巴巴是什么水平?
  6. PS笔刷 255个图像处理半色调Photoshop笔刷
  7. 计算机网络原理Ping、IPconfig、Nbtstat、Netstat命令详解(上)
  8. 雷蛇灵刃系列原厂预装系统自带隐藏分区还原功能
  9. 抖音上热门有时间吗 先改md5再剪辑视频
  10. 微信公众号开发教程(七)JSSDK-监听分享朋友圈事件