耳机吧 关注:2,819,938贴子:58,713,715

安卓上无需usb独占输出无损音频以上(包括768 32bit)

只看楼主收藏回复

原文作者(酷安)
模块作者(github)
该方法需要root支持,没有root的看看就行
有删改,楼下西索




IP属地:广西来自Android客户端1楼2024-05-01 10:32回复
    小绿果然还是过于专业了,不过我索尼手机自带音乐就跳过src了


    IP属地:广东来自Android客户端2楼2024-05-01 10:39
    回复
      2025-08-31 18:33:48
      广告
      不感兴趣
      开通SVIP免广告
      安卓src是什么?(见图1)该方法原理:通过root修改src(安卓层面的src)目标采样率来达到输出高品质音频


      IP属地:广西来自Android客户端3楼2024-05-01 10:44
      回复
        已经测试(成功)的设备:
        小米平板5PRO 安卓12 MIUI13
        pixel2 未知系统(图1)
        荣耀50se (图2)
        等等等等
        环境要求:Magisk ROOT(apatch和kernel su似乎没人测过,胆子大可以试试),(Xposed可选)不推荐使用系统自带ROOT
        注意事项:本教程适用于拥有独立DAC解码器的用户,提供的方法也仅对USB输出的采样率进行调整,对使用扬声器和自带耳机孔没有作用。



        IP属地:广西来自Android客户端4楼2024-05-01 10:58
        回复
          软件准备: ①两个压缩包 网页链接 密码:bmyr
          ②MT管理器
          ③(Xposed Edge Pro可选)
          ④一个终端(如termux和mt文件管理器左侧侧边栏的终端模拟器【以下和mt文件管理器一并简称为mt】)
          将两个压缩包下载,解压第一个USB_SampleRate_Changer文件夹在任意的可读写目录(例:/storage/emulated/0/。如果你觉得麻烦也可直接复制在内部储存的根目录,如例)
          第二个文件magisk-module-usb-samplerate-unlocker是一个Magisk模块(用于解除USB音频输出的规格限制,默认调整为最高384k,若想启用768k,请先阅读文章最后说明),刷入后重启


          IP属地:广西来自Android客户端5楼2024-05-01 11:15
          回复


            IP属地:广西来自Android客户端6楼2024-05-01 11:16
            回复
              食用方法
              一个有三个方法(方法A 方法B 方法C)方法B 方法C根据评论区修改未经测试(图一),所以上述测试机型皆为方法A而得,具体使用方法请自行选择。主要区别在于命令权限的设置方式。
              方法A:
              ❶打开Magisk设置,点击“挂载命令空间模式” (图二)
              ❷选择“全局命名空间” (图三)
              ❸打开mt,进入终端模拟器,先后输入并执行
              cd /
              su
              sh 【该处为压缩包内名为USB_SampleRate_Changer.sh的解压缩后的可读写目录地址,后缀一定为 /,与下文不允许有其他无关字符阻挡】USB_SampleRate_Changer.sh --bypass-offload-safer 【该处为采样率,如 44.1k 】 【该处为位宽,如 16 】(例如:sh /sdcard/USB_SampleRate_Changer/USB_SampleRate_Changer.sh --bypass-offload-safer 384k 32)
              注意:前面内容不用管,后面两项数据分别为采样率和位宽,此命令表示设置采样率【你在上面输入的采样率】,位宽【你在上面输入的位宽】bit。请根据需要设置为不高于你的dac支持的规格,否则可能导致没有声音,采样率支持设置为44k|48k|88k|96k|176k|192k|353k|384k|706k|768k 等多个档位(默认状态706k及更高档位无法启用,文后会说明解决方法),位宽设置为16|24|32三个档位(该命令重启后失效,需每次开机后按照相同方法重新输入指令进行设置,文后将介绍优雅的解决办法)。
              确认无误后回车,此时插上dac,不出意外的话全局音频输出就会自动切换为你设置的档位,若dac上面有显示可进行确认,此时无论播放什么音频流,都会整合为你设置的频率后输出,若拔下dac,将会自动恢复默认。
              若出现问题,使用命令sh 【同上的文件目录】USB_SampleRate_Changer.sh --reset进行重置(例如sh /sdcard/USB_SampleRate_Changer/USB_SampleRate_Changer.sh --reset)
              有能力的吧u请参考github项目




              IP属地:广西来自Android客户端7楼2024-05-01 11:55
              回复
                方法B(未经测试):
                在方法A的基础上
                去掉步骤❶❷
                将步骤❸的第二个命令(即“su”)改为
                su -mm
                (图一)
                其他和方法A相同


                IP属地:广西来自Android客户端8楼2024-05-01 12:01
                回复
                  2025-08-31 18:27:48
                  广告
                  不感兴趣
                  开通SVIP免广告
                  方法C(未经测试):
                  在方法A基础上
                  去掉步骤❶❷
                  ❸把“打开mt,进入终端模拟器,先后输入并执行”改为“打开termux,先后输入并执行”


                  IP属地:广西来自Android客户端9楼2024-05-01 12:04
                  回复
                    文后说明:
                    ①关于启用768K输出的方法
                    ❶打开mt,编辑模块magisk-module-usb-samplerate-unlocker.zip内文件“post-fs-data.sh”
                    将第25行最后双引号内的"full"更改为"max" (图一)
                    ❷保存后退出,出现以下提示,点击确定,随后回到教程继续按部就班的来


                    IP属地:广西来自Android客户端10楼2024-05-01 12:08
                    回复
                      ②优雅的运行指令让它开机自动设置你想要的目标采样率
                      ❶下载链接中的Xposed Edge Pro(需要Xposed框架,给予ROOT权限)
                      ❷找到“更多触发器”(图一)
                      ❸ 点击“启动完成” (图二)
                      ❹找到“shell命令” (图三)
                      ❺将你在食用方法打好的命令复制进去,勾选“以root身份运行”,点击确定 (图四)
                      之后每次重启都会自动执行这个命令了
                      -----------分割线------------
                      tips:该方法只在方法A上适用





                      IP属地:广西来自Android客户端11楼2024-05-01 12:20
                      回复
                        评论区的一些补充(侵权删)
                        那个列表为设备默认src方式



                        IP属地:广西来自Android客户端12楼2024-05-01 12:23
                        回复
                          查看设备输出的采样率和位宽方法:
                          在终端内执行
                          dumpsys media.audio_flinger
                          然后再找到如图的地方即可
                          standby 后的 yes 和 no 分别代表 音频经过src 和 音频已绕过src通过其他方式输出 (特殊情况下可能不准,当然通常情况下是可以的
                          sample rate:后的xxxxHz,代表目前音频输出的采样率(只有在经过src时才是正确的,至于开了USB独占那就仅供参考,看不懂的话把那串数字换算单位为 xx.xK就行)


                          IP属地:广西来自Android客户端14楼2024-05-01 12:34
                          回复


                            IP属地:广西来自Android客户端15楼2024-05-01 20:24
                            回复
                              2025-08-31 18:21:48
                              广告
                              不感兴趣
                              开通SVIP免广告
                              快来水,快来水


                              IP属地:广西来自Android客户端16楼2024-05-01 20:27
                              回复