前言

本文介绍一款使用 C# 与 WPF 开发的音频播放器,其界面简洁大方,操作体验流畅。该播放器支持多种音频格式(如 MP4、WMA、OGG、FLAC 等),并具备标记、实时歌词显示等功能。

另外,还支持换肤及多语言(中英文)切换。核心音频处理采用 FFmpeg 组件,获得了广泛认可,目前 GitHub 上已收获 1.8K 星标。

项目介绍

Dopamine 是一款简单好用的、功能强大的、完全免费且无广告的本地音乐播放器。它有绿色便携版(30MB)和可安装版(34MB),目前仅支持 Windows 平台。

它使用 C# 编写并由 CSCore 音频库提供支持。播放器使用了根据 LGPLv2.1 许可的 FFmpeg 代码。

项目页面

首次启动时,它会让我们选择主题颜色、显示语言、库文件(音乐文件所在的目录)。

基本配置好了,就可以看到软件界面

它的界面非常干净,如下图所示:

用户界面与动画效果

这款软件不仅界面美观,还拥有许多令人着迷的动画效果。例如,切换歌曲时软件左下角的动画以及音乐可视化效果等,都显得流畅而自然。

音频格式支持与封面模式

它支持播放 MP3、WMA、OGG、FLAC、M4A、AAC、WAV、APE 和 OPUS 等格式的音频文件。

点击右上角的【切换播放器】按钮,可以开启【封面模式】。

在这个模式下,仅显示歌曲封面和少量控制按钮。

在【封面模式下】,鼠标右键点击它的界面的任意位置,可以打开【简洁模式】和【迷你模式】:

任务栏模式

最小化主窗口后,点击任务栏上的图标可以进入【任务栏模式】

 歌词功能

它支持歌词滚动,既可以导入本地歌词文件,也支持从网易云、虾米音乐ChartLyrics、LoloLyrics 和 MetroLyrics 等平台自动获取歌词。

更多功能探索

本文仅展示了部分功能,实际上还有许多其他设置和功能等待你的发现。如果感兴趣,欢迎下载并亲自体验。

项目源码

可以下载 Dopamine 的对应源代码进行学习,以深入了解其设计原理和实现细节。

可以帮助我们提升编程技能,还能为我们提供一个参考案例。

项目结构具体如下:

项目地址

GitHub:https://github.com/digimezzo/dopamine-windows

下载地址:https://github.com/digimezzo/dopamine-windows/releases

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

C# + WPF 音频播放器 界面优雅,体验良好的更多相关文章

  1. 一个WPF开发的、界面简洁漂亮的音频播放器

    今天推荐一个界面简洁.美观的.支持国际化开源音频播放器. 项目简介 这是一个基于C# + WPF开发的,界面外观简洁大方,操作体验良好的音频播放器. 支持各种音频格式,包括:MP4.WMA.OGG.F ...

  2. 基于c开发的全命令行音频播放器

    cmus是一个内置了音频播放器的强大的音乐文件管理器.用它的基于ncurses的命令行界面,你可以浏览你的音乐库,并从播放列表或队列中播放音乐,这一切都是在命令行下. Linux上安装cmus 首先, ...

  3. OCiOS开发:音频播放器 AVAudioPlayer

    简单介绍 AVAudioPlayer音频播放器可以提供简单的音频播放功能.其头文件包括在AVFoudation.framework中. AVAudioPlayer未提供可视化界面,须要通过其提供的播放 ...

  4. ffmpeg+SDL2实现的音频播放器V2.0(无杂音)

    1. 前言 目前为止,学习了并记录了ffmpeg+SDL2显示视频以及事件(event)的内容. 这篇中记录ffmpeg+SDL2播放音频,没加入事件处理. 接下来加入事件处理并继续学习音视频同步,再 ...

  5. 11.QT-ffmpeg+QAudioOutput实现音频播放器

    1.前言      由于QAudioOutput支持的输入数据必须是原始数据,所以播放mp3,WAV,AAC等格式文件,需要解封装后才能支持播放.      而在QT中,提供了QMediaPlayer ...

  6. HTML5 音频播放器-Javascript代码(短小精悍)

    直接上干货咯! //HTML5 音频播放器 lzpong 2015/01/19 var wavPlayer = function () { if(window.parent.wavPlayer) re ...

  7. IOS开发之简单音频播放器

    今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...

  8. iOS 简单音乐播放器 界面搭建

    如图搭建一个音乐播放器界面,具备以下几个简单功能: 1,界面协调,整洁. 2,点击播放,控制进度条. 3.三收藏歌曲,点击收藏,心形收藏标志颜色加深. 4,左右按钮,切换歌曲图片和标题. 5,点击中间 ...

  9. 【jquery】一款不错的音频播放器——Amazing Audio Player

    前段时间分享了一款视频播放器,点击这里.今天介绍一款不错的音频播放器——Amazing Audio Player. 介绍: Amazing Audio Player 是一个使用很方便的 Windows ...

  10. 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成

    原文:与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成 [索引页][源码下载] 与众不同 win ...

随机推荐

  1. oeasy教您玩转vim - 55 - # 参数替换

    ​ [Github地址] (https://github.com/overmind1980/oeasyvim) [Gitee地址] (overmind1980/oeasyvim) [蓝桥实验楼 邀请码 ...

  2. 记一次 redis 事件注册不当导致的内存泄露

    线上的程序跑着跑着内存越来越大,并且没有下降的趋势,重启一下程序也只能短暂恢复.通过 htop 命令再按一下 M 键按内存占用大小排个序,程序会占好几个G.那好,让我们来分析一下. 收集dump 通过 ...

  3. C# RSA非对称加密、解密及格式转换

    前言 本文主要介绍如何使用.Net自带API结合BouncyCastle类库实现RSA加密和解密,密钥生成和密钥格式转换. 一.RSA介绍 RSA加密算法是1977年由Ron Rivest.Adi S ...

  4. Microsoft Dynamics CRM 高级查找不能搜索实体的解决方案(浏览器插件)

    背景 我们搜索某个实体的记录的时候,一般会去对应的视图"可用的XXX",但是视图自带的条件过滤了一些数据,或者缺少了我们所需要的列,或者不能查询关联实体.这时候我们需要用到高级查找 ...

  5. HCIA first

    每台电脑都有网线 网线连的是什么? 网线插在接入交换机 流量给入汇聚交换机 汇聚给核心交换机 核心交换机 堆叠是指将一台以上的交换机组合起来共同工作,以便在有限的空间内提供尽可能多的端口.多台交换机经 ...

  6. Jmeter强制结束线程

    例子:正常的线程是执行2次请求 1.需要实现结果 执行请求1后,判断test1=100,强制结束线程 执行请求1后,判断test1 != 100,继续执行请求2 2. 线程组改造 在请求1后面增加[i ...

  7. Hession-free 的共轭梯度法的高效计算版本的部分代码(pytorch实现,实现一阶求导的一次计算重复使用)

    Hession-free 的共轭梯度法的高效计算版本的部分代码(pytorch实现,实现一阶求导的一次计算重复使用) Hession-free 的共轭梯度法在求解 H*v 的时候是先求一阶导,即雅可比 ...

  8. 【转载】 优必选悉尼 AI 研究院何诗怡:基于课程学习的强化多标签图像分类算法 | 分享总结

    原文地址: https://baijiahao.baidu.com/s?id=1603057342167437458&wfr=spider&for=pc 来源"雷锋网&quo ...

  9. baselines算法库baselines/bench/monitor.py模块分析

    baselines算法库baselines/bench/monitor.py模块代码: __all__ = ['Monitor', 'get_monitor_files', 'load_results ...

  10. [学习笔记] LCA - 图论

    [NOIP2013 提高组] 货车运输 最大生成树+LCA+倍增 好家伙,这道题我写了一个晚上,调了两个晚上,对于这道题我颇有感触.但这道题确实好,实实在在的蓝题,让我发现了许多关于LCA的问题. 首 ...