如题,在特定的情况下,需要通过 adb 给出提示音
使用 am start 命令能播放音频,但是会在页面中弹出一个播放器,而且还遮住页面的元素。
adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Music/notift.mp3 -t audio/mp3
adb 有什么办法播放手机系统提示音。这是最期待的处理方案
如果不行的话,那还有什么办法能不弹出播放器?或者不遮住元素?
1
sadfasdfa 167 天前 via iPhone
tinyplay ,有权限才行
|
2
qwwuyu 167 天前
我的测试机安卓系统 10 的,用 adb shell 跑了 frp+scrcpy 远程操控,为了锁频不休眠 cpu,用了播放器循环播放无声音乐,只要不关机,清后台都不会挂.
测试了另一个安卓 12 的手机,播放器用不了,缺少 context,找不到 service. 如果系统支持 所以可以写个 apk 试着用 adb shell 去运行. 我用的命令是 adb shell "CLASSPATH=/sdcard/ac/frp.apk LD_LIBRARY_PATH=/data/local/tmp/ac app_process / com.qwwuyu.jni.Frp arg1 arg2 &" |
3
DefoliationM 167 天前 via Android
mpv
|
4
cJ8SxGOWRH0LSelC 167 天前
既然有 adb , 那就安装一个自己的 app , 然后通过 adb 调用 app 来后台播放声音就好了。
|
5
mfyhx1417 OP @DefoliationM 大佬,查了下貌似不支持 adb 播放指定音频
|
7
mfyhx1417 OP @StinkyTofus 自己写一个 app 的话,难度有点大,新手小白一个
|
8
cJ8SxGOWRH0LSelC 167 天前
@mfyhx1417 #7 非常简单啊, 写一个服务, 自定义一个广播进行音频播放, 然后 adb 发广播就可以了
|
9
ajan 167 天前
@mfyhx1417
试试看,我这边测试 OK adb shell am force-stop com.android.htmlviewer && adb shell am start -a android.intent.action.VIEW --activity-clear-task -d file:///sdcard/Music/notift.mp3 -t text/html && adb shell input keyevent 3 |
10
mfyhx1417 OP @ajan 咦 大佬,这一串你本地可以吗?我用你这一串没反应。删除掉后面的&& adb shell input keyevent 3 后会需要选择一个 html 应用的打开。并不会播放音频。
修改过后的这一串的结果,还是和我反应的一样。会在页面中弹出一个播放器,而且还遮住页面的元素 adb shell am force-stop com.android.htmlviewer && adb shell am start -a android.intent.action.VIEW --activity-clear-task -d file:///sdcard/Music/notift.mp3 -t audio/mp3 |
11
ajan 166 天前
@mfyhx1417
我用的是雷电模拟器,在 Windows 命令行中测试的,完全正常。 // 杀掉 HTML 预览器 adb shell am force-stop com.android.htmlviewer // 利用 HTML 预览器(正常情况下不会被精简掉的系统组件) 来播放音频,模拟器里没有音频播放器, adb shell am start -a android.intent.action.VIEW --activity-clear-task -d file:///sdcard/Music/notift.mp3 -t audio/mp3 // 发送 HOME 键事件(回到桌面) adb shell input keyevent 3 |