V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mfyhx1417
V2EX  ›  Android

adb 有什么办法播放手机系统提示音

  •  
  •   mfyhx1417 · 167 天前 · 4307 次点击
    这是一个创建于 167 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,在特定的情况下,需要通过 adb 给出提示音

    使用 am start 命令能播放音频,但是会在页面中弹出一个播放器,而且还遮住页面的元素。

    adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Music/notift.mp3 -t audio/mp3
    

    adb 有什么办法播放手机系统提示音。这是最期待的处理方案

    如果不行的话,那还有什么办法能不弹出播放器?或者不遮住元素?

    12 条回复    2024-07-08 18:27:20 +08:00
    sadfasdfa
        1
    sadfasdfa  
       167 天前 via iPhone
    tinyplay ,有权限才行
    qwwuyu
        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 &"
    DefoliationM
        3
    DefoliationM  
       167 天前 via Android
    mpv
    cJ8SxGOWRH0LSelC
        4
    cJ8SxGOWRH0LSelC  
       167 天前
    既然有 adb , 那就安装一个自己的 app , 然后通过 adb 调用 app 来后台播放声音就好了。
    mfyhx1417
        5
    mfyhx1417  
    OP
       167 天前
    @DefoliationM 大佬,查了下貌似不支持 adb 播放指定音频
    mfyhx1417
        6
    mfyhx1417  
    OP
       167 天前
    @qwwuyu 通过 adb 去调另一个自己开发的 app 吗?这对于新手小白来说难度有点大
    mfyhx1417
        7
    mfyhx1417  
    OP
       167 天前
    @StinkyTofus 自己写一个 app 的话,难度有点大,新手小白一个
    cJ8SxGOWRH0LSelC
        8
    cJ8SxGOWRH0LSelC  
       167 天前
    @mfyhx1417 #7 非常简单啊, 写一个服务, 自定义一个广播进行音频播放, 然后 adb 发广播就可以了
    ajan
        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
    mfyhx1417
        10
    mfyhx1417  
    OP
       167 天前
    @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
    ajan
        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
    mfyhx1417
        12
    mfyhx1417  
    OP
       163 天前
    @ajan 我在 mac 环境 用真机测试,行不通
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1155 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 23:06 · PVG 07:06 · LAX 15:06 · JFK 18:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.