当前位置: 首页 > news >正文

用C#写一个随机音乐播放器

form1中namespce里的代码如下

public partial class Form1 : Form
{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){string folder = textBox1.Text;string folderPath = @folder; // 指定音频文件所在的文件夹路径OpenRandomFile(folderPath);}private void Form1_Load(object sender, EventArgs e){}//实际是随机打开一个文件,鉴于VS内置的库不能播放除了wav以外的音频private void OpenRandomFile(string folderPath){if (!Directory.Exists(folderPath)){MessageBox.Show("指定的文件夹不存在,请检查路径是否正确。");return;}var files = Directory.GetFiles(folderPath, "*.*", SearchOption.AllDirectories);if (files.Length == 0){MessageBox.Show("文件夹为空或没有可访问的文件。");return;}Random random = new Random();int index = random.Next(files.Length);string filePath = files[index];try{System.Diagnostics.Process.Start(filePath);}catch (Exception ex){MessageBox.Show($"无法打开文件: {ex.Message}");}}
}

实际是随机打开一个文件,鉴于VS内置的库不能播放除了wav以外的音频

效果如图

这里的文件夹地址是直接Ctrl+Shift+C复制过来的,注意要去掉引号

exe的链接如下

链接:https://pan.baidu.com/s/105w5fij6kkrUoWcjMuiBWA?pwd=tdo7 
提取码:tdo7

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【现代通信技术】第八章 SDH技术
  • 探索顶级PDF水印API:PDFBlocks(2024年更新)
  • LCD 图片格式转换
  • FreeRTOS 快速入门(三)之任务管理
  • ensp小实验(ospf+dhcp+防火墙)
  • PHP模拟高并发异步请求测试+redis的setnx处理并发和防止死锁处理
  • PINCE——Linux 原生游戏内存修改器,一款替代 Cheat Engine 的强大游戏修改器,Linux 游戏玩家必备神器!
  • 【论文学习与撰写】论文中公式的编辑,Mathtype的使用,全文编号排版,智能截图识别公式,公式编号自动更新
  • 一键更换Linux优质的软件源和docker源 —— 筑梦之路
  • 超全MySQL优化清单
  • 如何在ThinkPHP6中轻松实现WebSocket通信?看这里就够了!
  • 【HarmonyOS NEXT星河版开发学习】综合测试案例-各平台评论部分
  • 【javaEE进阶1】spring简介IoC
  • 都2024年了,还在问网络安全怎么入门,气得我当场脑血栓发作
  • Java面试八股之如何保证消息队列中消息不重复消费
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Android框架之Volley
  • Angular 4.x 动态创建组件
  • Angular6错误 Service: No provider for Renderer2
  • CSS 三角实现
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Javascript设计模式学习之Observer(观察者)模式
  • JAVA之继承和多态
  • Median of Two Sorted Arrays
  • October CMS - 快速入门 9 Images And Galleries
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • PV统计优化设计
  • Vim 折腾记
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 如何选择开源的机器学习框架?
  • 学习ES6 变量的解构赋值
  • gunicorn工作原理
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ###STL(标准模板库)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (LeetCode C++)盛最多水的容器
  • (rabbitmq的高级特性)消息可靠性
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)可以带来幸福的一本书
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .net core使用ef 6
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net mvc总结
  • .Net Remoting常用部署结构
  • .net wcf memory gates checking failed
  • .NET 材料检测系统崩溃分析
  • .NET 分布式技术比较
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...