C# 面向对象例题 -- Mp3功能实现

举报
陈言必行 发表于 2021/08/13 23:32:00 2021/08/13
【摘要】 C# 面向对象例题 -- Mp3功能实现 请利用面向对象分析实现Mp3功能,Mp3具有播放歌曲,载入本地歌曲 ,上一首,下一首,添加歌曲,退出播放器功能。   实现结果:   using System;using System.Collections.Generic;using Sys...

C# 面向对象例题 -- Mp3功能实现

请利用面向对象分析实现Mp3功能,Mp3具有播放歌曲,载入本地歌曲 ,上一首,下一首,添加歌曲,退出播放器功能。

 
实现结果:
 

    
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace 面向对象7._13_Mp3完善
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. PlaySong ps = new PlaySong();
  13. ps.Inof();
  14. Console.ReadLine();
  15. }
  16. }
  17. //歌曲信息列表
  18. class Song
  19. {
  20. public Song() { }
  21. public Song(String title, string singer, int length)
  22. {
  23. this.titile = title;
  24. this.singer = singer;
  25. this.length = length;
  26. }
  27. ///
  28. /// 歌曲名
  29. ///
  30. public String titile{set;get;}
  31. public String singer { set; get; }
  32. public int length { set; get; }
  33. }
  34. class PlaySong
  35. {
  36. List list = new List();
  37. ///
  38. /// 载入本地歌曲
  39. ///
  40. private int listLenght; //获取到列表长度(有几首歌)
  41. public void bianli() {
  42. listLenght = 0;
  43. foreach (Song item in list)
  44. {
  45. Console.Write(" " +(listLenght+1)+"."+item.titile+" - "+item.singer+" ");
  46. time(item.length);
  47. listLenght++;
  48. }
  49. }
  50. public void Inof()
  51. {
  52. Console.WriteLine("您的当前播放列表是:");
  53. Console.WriteLine();
  54. Console.WriteLine("++ ——————————— ++");
  55. Console.WriteLine();
  56. bianli();
  57. Console.WriteLine();
  58. Console.WriteLine("++ ——————————— ++");
  59. Console.WriteLine();
  60. Console.WriteLine(" 请您输入功能序号 :");
  61. Console.WriteLine();
  62. Console.WriteLine("1.播放歌曲 2.载入本地歌曲 3.上一首 4.下一首 5.暂停 6.添加歌曲 7.退出播放器");
  63. int n = int.Parse(Console.ReadLine());
  64. switch (n)
  65. {
  66. case 1:
  67. play();
  68. break;
  69. case 2:
  70. load();
  71. break;
  72. case 3:
  73. upSong();
  74. break;
  75. case 4:
  76. downSong();
  77. break;
  78. case 5:
  79. stop();
  80. break;
  81. case 6:
  82. downLoad();
  83. break;
  84. case 7:
  85. return;
  86. default :
  87. break;
  88. }
  89. }
  90. public void load()
  91. {
  92. Song s1 = new Song("灰色头像", "许嵩", 356);
  93. Song s2 = new Song("坏孩子", "许嵩", 303);
  94. Song s3 = new Song("城府", "许嵩", 287);
  95. Song s4 = new Song("因为了解", "汪苏泷", 196);
  96. Song s5 = new Song("送你的读白", "许嵩", 314);
  97. list.Add(s1);
  98. list.Add(s2);
  99. list.Add(s3);
  100. list.Add(s4);
  101. list.Add(s5);
  102. Console.WriteLine("++ ——————————— ++");
  103. Console.WriteLine();
  104. bianli();
  105. Console.WriteLine();
  106. Console.WriteLine("++ ——————————— ++");
  107. Inof();
  108. }
  109. public void downLoad()
  110. {
  111. Song s = new Song();
  112. Console.Write("请输入您要下载的歌曲名称:");
  113. s.titile = Console.ReadLine();
  114. Console.Write("请输入您要下载的歌手名称:");
  115. s.singer = Console.ReadLine();
  116. Console.Write("请输入您要下载歌曲的时长:");
  117. s.length =int.Parse( Console.ReadLine());
  118. list.Add(s);
  119. listLenght++;
  120. Console.WriteLine("您的歌曲下载成功!");
  121. Console.WriteLine();
  122. Inof();
  123. }
  124. private int index = 0; //记录播放的歌曲
  125. public void play()
  126. {
  127. Console.WriteLine();
  128. if (index < 0)
  129. {
  130. Console.WriteLine("当前列表没有歌曲!");
  131. }
  132. if (index < listLenght)
  133. {
  134. Console.WriteLine("正在播放:" + list[index].titile);
  135. }
  136. Console.WriteLine();
  137. Inof();
  138. }
  139. public void upSong()
  140. {
  141. if (index < 0) {
  142. Console.WriteLine("当前列表没有歌曲");
  143. }
  144. index = index - 1 < 0 ? 0: index - 1;
  145. if (index - 1 < 0)
  146. {
  147. Console.WriteLine("当前播放已经是第一首音乐:" + list[0].titile);
  148. }
  149. else
  150. {
  151. Console.WriteLine("正在播放:" + list[index].titile);
  152. }
  153. Console.WriteLine();
  154. Inof();
  155. }
  156. public void downSong()
  157. {
  158. if (index < 0)
  159. {
  160. Console.WriteLine("当前列表没有歌曲");
  161. }
  162. index = index + 1 > listLenght ? listLenght : index+1;
  163. if (index +1 > listLenght)
  164. {
  165. Console.WriteLine("当前播放已经是最后一首音乐:");
  166. }
  167. else
  168. {
  169. Console.WriteLine("正在播放:" + list[index].titile);
  170. }
  171. Console.WriteLine();
  172. Inof();
  173. }
  174. public void stop()
  175. {
  176. Console.WriteLine("暂停播放:"+list[index].titile);
  177. Console.WriteLine();
  178. Inof();
  179. }
  180. ///
  181. /// 转换时间格式 00:00:00
  182. ///
  183. ///
  184. public void time(int time)
  185. {
  186. TimeSpan ts = new TimeSpan(0, 0, time);
  187. Console.WriteLine(" " + (ts.Minutes).ToString().PadLeft(2, '0') + ":" + (ts.Seconds).ToString().PadLeft(2, '0'));
  188. }
  189. }
  190. }

 
 

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/76390356

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。