You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Modem Manager(mmcli)从终端接听来电及解决通话无声音问题

如何通过Modem Manager(mmcli)从终端接听来电及解决通话无声音问题

嘿,我来帮你梳理下这个问题哈~你已经找对了监听来电和接听的基本方法,没声音的问题其实是因为Modem Manager只负责 modem 的呼叫控制,音频通路需要额外配置,尤其是像ZTE MF-190这类USB dongle,得手动把音频路由到系统的音频设备才行。

一、先确认接听来电的完整流程

你目前的操作是对的,完整步骤应该是这样:

  • 先开一个终端窗口,执行 mmcli monitor 持续监听 modem 事件,当有来电时,会输出包含呼叫索引(也就是你用的<index>)的信息
  • 再开另一个终端,用 mmcli -o <呼叫索引> --accept 接听来电,这一步你已经成功触发了通话连接(手机那边计时就是证明)

二、解决通话无声音的核心步骤

1. 查看Modem的音频支持情况

首先得确认你的ZTE MF-190是否提供音频接口:

  • 先通过 mmcli -L 找到你的modem索引(比如通常是/org/freedesktop/ModemManager1/Modem/0,对应的索引就是0)
  • 然后执行 mmcli -m <modem索引> --audio,会列出modem支持的音频端点和格式,比如PCM、GSM等,这能帮你确定后续的音频配置方向

2. 配置系统音频路由

USB modem的音频是作为独立声卡存在的,你需要把通话音频指向它:

  • 用 aplay -l 列出系统所有音频设备,找到ZTE设备对应的声卡(比如输出里会有card 1: MF190 [ZTE MF190], device 0: USB Audio [USB Audio]这样的条目,card 1就是声卡编号,device 0是设备编号)
  • 你可以直接指定通话时的输入输出设备:
    • 测试播放声音到modem(让对方听到你):aplay -D plughw:1,0 测试音频文件.wav
    • 测试录制modem的声音(听对方说话):arecord -D plughw:1,0 -f cd 录制文件.wav
  • 如果想把这个modem设为默认音频设备,可以编辑 /etc/asound.conf 添加配置(比如指定默认的plughw设备为你的ZTE声卡)

3. 检查Modem Manager的音频配置

有些情况下Modem Manager默认没开启音频支持,你可以检查配置:

  • 打开 /etc/ModemManager/ModemManager.conf 文件(需要sudo权限),看看有没有EnableAudio=true这一行,如果没有就加上
  • 保存后重启Modem Manager服务:sudo systemctl restart ModemManager

4. 手动指定通话音频格式

部分modem需要明确设置通话的音频格式才能正常传输声音:

  • 接听来电后,执行 mmcli -o <呼叫索引> --set-audio-format=gsm(或者你在第一步查到的其他支持格式,比如pcm),然后再测试音频是否正常

另外你说的Ubuntu自带的GUI移动管理器确实功能有限,终端命令才是控制Modem Manager更灵活的方式,多试试上面的步骤应该能解决声音问题~

备注:内容来源于stack exchange,提问作者Nhan.Q

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:43:19