8541E-修改系统录音/播放都使用VOIP

简介: 笔记

查看声卡状态

//查看模拟声卡播放状态:
adb shell cat /proc/asound/card0/*/*/status
//查看VOIP声卡播放状态:
adb shell cat /proc/asound/card1/*/*/status

实例:

查看声卡顺序,每次开机注册顺序可能不一样,可以看到目前系统有三个声卡:
模拟声卡,打电话的声卡,voip声卡
1|sl8541e_1h10_32b:/ $ cat /proc/asound/cards
 0 [sprdphone      ]: sprdphone - sprdphone
                      sprdphone
 1 [saudiolte      ]: saudiolte - saudiolte
                      saudiolte
 2 [saudiovoip     ]: saudiovoip - saudiovoip
                      saudiovoip
待机:
sl8541e_1h10_32b:/ $ cat /proc/asound/card0/*/*/status
closed
closed
closed
closed
closed
closed
closed
closed
sl8541e_1h10_32b:/ $  cat /proc/asound/card1/*/*/status
closed
closed
closed
closed
讲话(录音):
sl8541e_1h10_32b:/ $ cat /proc/asound/card0/*/*/status
closed
closed
state: RUNNING
owner_pid   : 7264
trigger_time: 1666836399.469438708
tstamp      : 0.000000000
delay       : 0
avail       : 0
avail_max   : 0
-----
hw_ptr      : 0
appl_ptr    : 0
state: PREPARED
owner_pid   : 7264
trigger_time: 1666836399.468863862
tstamp      : 0.000000000
delay       : 0
avail       : 320
avail_max   : 0
-----
hw_ptr      : 0
appl_ptr    : 0
closed
closed
closed
closed
sl8541e_1h10_32b:/ $ cat /proc/asound/card1/*/*/status
closed
closed
closed
closed
收听(播放):
sl8541e_1h10_32b:/ $  cat /proc/asound/card0/*/*/status
closed
state: RUNNING
owner_pid   : 949
trigger_time: 1179.798942809
tstamp      : 1187.602456649
delay       : 1200
avail       : 720
avail_max   : 1360
-----
hw_ptr      : 344400
appl_ptr    : 345600
closed
closed
closed
closed
closed
closed
sl8541e_1h10_32b:/ $  cat /proc/asound/card1/*/*/status
closed
closed
closed
closed


昨晚修改后,VOIP通过LOG看已经打开,但是调试音频参数时发现通道似乎又切走了,再次分析日志。

下图是发起对讲:


20.png

image.png


发现VOIP打开后,又立即被关闭。

adb查看发起讲话时的声卡状态:

sl8541e_1h10_32b:/ # cat /proc/asound/cards
 0 [sprdphone      ]: sprdphone - sprdphone
                      sprdphone
 1 [saudiolte      ]: saudiolte - saudiolte
                      saudiolte
 2 [saudiovoip     ]: saudiovoip - saudiovoip
                      saudiovoip
sl8541e_1h10_32b:/ # cat /proc/asound/card1/*/*/status
closed
closed
closed
closed
sl8541e_1h10_32b:/ # cat /proc/asound/card0/*/*/status
state: RUNNING
owner_pid   : 4994
trigger_time: 1176.116787850
tstamp      : 1182.896760038
delay       : 0
avail       : 0
avail_max   : 320
-----
hw_ptr      : 54080
appl_ptr    : 54080
closed
closed
closed
closed
closed
closed
closed
sl8541e_1h10_32b:/ # cat /proc/asound/card2/*/*/status
closed
closed
closed
sl8541e_1h10_32b:/ #

结论是对讲中,模拟声卡起作用,VOIP声卡关闭,问题还是在软件上。


原因分析:


发起对讲的过程是:按下PTT后,开始录音(打开VOIP),同时播放提示音(打开VOIP),提示音播放完(关闭VOIP)。导致后续的录音VOIP关闭状态。

目录
相关文章
|
数据采集 前端开发 Android开发
Android平台RTMP推送或GB28181设备接入端如何实现采集audio音量放大?
我们在做Android平台RTMP推送和GB28181设备对接的时候,遇到这样的问题,有的设备,麦克风采集出来的audio,音量过高或过低,特别是有些设备,采集到的麦克风声音过低,导致播放端听不清前端采集的audio,这时候,就需要针对采集到的audio,做音量放大处理。
|
语音技术
FreeSwitch中音乐功能保持和静音回铃声怎样设置
FreeSwitch中音乐功能保持和静音回铃声怎样设置
|
2月前
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
|
6月前
|
API C++ Windows
c++实现waveinopen录音功能
这是一个简单的C++示例,使用 `waveInOpen`函数来录制音频数据,然后通过回调函数 `waveInProc`处理录音数据。需要注意的是,实际使用中可能需要更多的错误处理和资源管理。同时,这个示例是基于Windows的,使用了Windows Multimedia API来进行音频录制。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
122 0
|
JavaScript API
uniapp实现录音功能和播放功能
uniapp实现录音功能和播放功能
|
前端开发 JavaScript
uniapp 录音和播放功能
uniapp 录音和播放功能
392 0
|
前端开发
前端(六):读取本地音视频设备并进行播放
读取本地音视频设备并进行播放
131 0
成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入
成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入
成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入
|
存储 视频直播
FreeSwitch中的录像和录音设置
FreeSwitch中的录像和录音设置