夜雨聆风学习资料网

ARTICLE · 1330395

一款专为USB DAC的播放器,源码Bit-Perfect设计,真正实现DAC无损输出.首发测试

一款专为USB DAC的播放器,源码Bit-Perfect设计,真正实现DAC无损输出.首发测试
在win平台上,foobar2000,musicfree等类似实现usb独占等源码输出的播放器众多,作者也专门魔改了AlgerMusic实现dac源码输出(优秀的AlgerMusic:深度定制Windows外置解码器DAC而生的无损音乐播放器开源了,支持Bit-perfect原码和WASAPI独占)。但是安卓平台上,完全实现的还不多见,海贝音乐可以usb独占设置输出。究其原因,实现USBDAC独占输出,在不同的安卓版本上,实现不同,难度不一。
如果想适配不同版本,最优方案利用已有的底层api,实现c++原生底层实现,彻底绕过系统混音。这也是本软件的特别之处。一旦usb dac独占生效,其他设备均无法使用这个dac。其他的app还有共享的能力,不知道是不是真的实现独占源码bit-perfect输出。
底层驱动完全c++设计,摆脱不同版本安卓对USB DAC实现的差异。界面豪华设计方面和海贝音乐没法比,目前以简洁方便操作为主。后续根据使用情况,继续优化功能。我也将计划开源这个项目,以其促进外置DAC播放器,通过真正的无损输出,发现dac的性能。

一、功能介绍

自动识别USBDAC的支持的采样率,16/24/32bit支持,并且根据播放无损音乐格式自动设置。设置实现bit-perfect的前提,如果不论什么位数,采样率的都是一个频率,那一定是经过系统重采样转换,就不是源码输出,也无法发挥DAC纯硬件的特性。

二、音乐选择

目前只支持本地。
选择音乐:可以选择单个音乐文件,并追加到已有的播放列表中。
选择文件夹:则根据设置递归查找目录的所有音乐文件,并按目录专辑分标签列出。选择文件夹会清空原有的播放列表。
由于安卓SAF的限制,只能每次选项对目录确认才能加入。

三、播放卡片

点击播放卡片,播放大屏展示封面和歌词。
播放卡片有:歌曲名称,格式,专辑。关键音乐文件的参数。可以和上面的“设备与流设置”进行比对,这是真实的数据,也只有音频数据和DAC设置一致,才能正确播放音乐。否则就会出现爆音,声调,噪音等。
封面歌词获取逻辑:

四、纯参数展示

这是一款纯参数展示的app,在dac性能采集,格式转换,独占操作,歌曲播放转换都有详细的日志。
封面获取,歌词匹配也有展示。你更能了解程序运行的核心参数,知道播放器真正的操作过程。
所见即所得。

五、设置介绍

  1. 播放列表循环方式
  2. 歌词字号设置
  3. 主题色调
  4. 在线不全,默认开启
如果本地带有的歌词更准确,可以关闭在线歌词采集。
(5)调试参数
在运行中,如果出现异常或获取的数据有问题,可以看看日志信息,大部分都有记录
(6)为方便一次性获取目录及其子目录的音乐文件,会自动分类标签,可以设置递归目录深度。
获取方式:usbdac
---以下为介绍,了解的忽略---
安卓dac独占资料介绍:
✅ Android 5.0 ~ Android 7.x(API21+)
首次加入原生主机模式USB Audio Class 1支持,手机OTG直接识别UAC1 DAC,全局音频可以路由到USB DAC,不再局限于特定播放器APP
✅ Android 8.0 ~ Android13
1. Android8 引入 AAudio,支持音频独占EXCLUSIVE模式,低延迟路径,给HiFi播放器提供绕过混音层的通道,为USB直通打下API基础,但USB位完美依然不是系统标准能力才有较好的支持。
✅ Android14(API34)【Hi‑USB DAC最重要更新】
官方新增 首选混音器属性 + BIT_PERFECT(位完美播放)API,属于系统框架原生能力升级,不再完全依赖厂商魔改HAL来实现直通

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料