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

form1中namespce里的代码如下

cs 复制代码
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

相关推荐
2601_962071571 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
\光辉岁月/2 小时前
5.java-数组
java·开发语言
Java后端的Ai之路2 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
谢亮_vipxieliang3 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
时间的拾荒人3 小时前
Qt 多线程详解:从 QThread 到实战
开发语言·qt·面试
郑州光合科技余经理3 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071573 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
Wang's Blog3 小时前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言
Dovis(誓平步青云)4 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
周杰伦fans4 小时前
8GB显存下模型量化实战指南
人工智能·后端·c#