Android Audio音频分析基础

admin 2024年7月15日17:35:53评论26 views字数 2355阅读7分51秒阅读模式
获知新增了Card1(USB-Audio设备)
首先排查Android系统有没有正确识别到USB声卡插入
Android Audio HAL一般都使用alsa,是android内核中的驱动识别到了声卡物理设备接入之后,驱动程序会自动在/pro/asound 目录下创建一个目录,表明有新的物理声卡接入
cat /proc/asound/cards
物理声卡的能力
cat /proc/asound/devicescat /proc/bus/input/devices
查看声卡下挂载的逻辑设备信息
ls -al /dev/snd
查看录音节点的状态
cat /proc/asound/card1/pcm0c/sub0/status
查看播放设备节点的状态
cat /proc/asound/card0/pcm1p/sub0/status
USB-mictinymix -D 2
查询MIC状态
tinymix -D 5tinymix -D 5 1
查询MIC音量
tinymix -D 5 2
耳机开关
tinymix -D 1 25
扬声器开关
tinymix -D 1 26
主麦克风开关
tinymix -D 1 27
耳机麦克风开关
tinymix -D 1 28
抓取dump的命令
setprop vendor.vidc.dec.log.in 1setprop vendor.vidc.dec.log.out 1dumpsys | grep -iE 'audio|media' > /data/vendor/media/audio_dump.txtadb shell dumpsys media.audio_flinger
adb shell dumpsys media.audio_policy
dumpsys audio
dumpsys media.audio_flingerdumpsys media.audio_policydumpsys media.player
dumpsys media.audio_policy
adb rootadb remountsetenforce 0getprop | grep ro.debuggable
setprop vendor.audio.record 1/data/misc/audioserver/debug.pcm
setprop vendor.audio.record.in 1/data/misc/audioserver/debug_in.pcm
adb logcat -b main -b system -v threadtime > /data/logcat.txt adb shell cat /proc/kmsg > kernle
查看声卡注册是否成功
cat /proc/asound/cards
查看I2C是否挂载成功
ls -l /sys/bus/i2c/drivers
如何使用MediaMetricsService服务dump媒体信息
显示媒体信息top 100堆栈使用量排序
dumpsys media.metrics --heap
清除已保存的记录
dumpsys media.metrics --clear
显示全部记录
dumpsys media.metrics --all

使用media命令设置音量,会保存到SettingsProvider中

settings
adb shel settings list systemadb shell settings get system volume_music_speakeradb shell media volume --stream 3 --get         //获取音量adb shell media volume --stream 3 --adj lower   //降低音量adb shell media volume --stream 3 --set 0       //设置音量为0

media volume --stream 3 --set 0settings put system volume_system

volume_music_echo_canceller=0volume_music_fm_transmitter=0volume_music_hdmi=0volume_music_spdif=0volume_music_speaker=0volume_music_usb_headset=0

settings put system volume_music 0settings put system volume_music_echo_canceller 0settings put system volume_music_fm_transmitter 0settings put system volume_music_hdmi 0settings put system volume_music_spdif 0settings put system volume_music_speaker 0settings put system volume_music_usb_headset 0
‍‍

使用keyevent设置音量,不会保存到SettingsProvider中

input keyevent 164

adb shell service list

直接调用Android接口设置音量

service call audio 11 i32 3 i32 0 i32 0

设置系统音静音

service call audio 11 i32 1 i32 0 i32 0

设置媒体音静音

service call audio 11 i32 3 i32 0 i32 0
isMicrophoneMuted()service call audio 29
isSpeakerphoneOn()service call audio 55

原文始发于微信公众号(哆啦安全):Android Audio音频分析基础

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月15日17:35:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Android Audio音频分析基础https://cn-sec.com/archives/2780709.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息