音频
本页的所有内容都位于设置 › 音频 (Audio)、设置 › 编解码器 (Codecs) 和设置 › 网络 (Network) 中。更改立即生效;少数网络值需要重新启动引擎,并会有相应提示。
设备
| 行 | 含义 |
|---|---|
| 麦克风 (Microphone) | 包含所有输入设备和系统默认 (System default) 的弹出式菜单;旁边的实时电平表(绿色分段,最顶端接近削波时为黄色)显示选中的是正确的麦克风。 |
| 扬声器 (Speaker) | 包含所有输出设备和系统默认的弹出式菜单。测试音在下方的“音频测试”组中。 |
| 铃声设备 (Ringtone device) | 仅用于铃声的输出:“即使通话使用耳机,也通过扬声器播放铃声。” |
| 连接耳机时自动切换 (Switch to a headset when it is connected) | 默认开启。“使用新连接的耳机进行通话,直到它被拔出。” |
| 耳机按键 (Headset buttons) | 默认开启。通过 USB 耳机的通话控制键接听、挂断、保持、静音和重拨;辅助文本显示“已连接:Jabra Evolve2 65”或“没有带通话控制键的耳机”。详见下文。 |
“系统默认”跟随 macOS 的“声音”设置。如果所选设备被拔出,MacroSIP 回退到系统默认,并在设备回来时切换回去。设备列表实时更新。
耳机自动切换
当一个同时具有输入和输出的设备出现时(USB 或蓝牙耳机、AirPods),它会成为通话的麦克风和扬声器,并有横幅显示“已切换到 AirPods Pro”四秒。移除后,之前选择的设备恢复(“返回 MacBook Pro 扬声器”或“返回系统默认”)。手动选取麦克风或扬声器,或关闭该开关,都会结束这种跟随。铃声设备从不改变,启动时已存在的设备不会被跟随。
耳机按键
开启耳机按键后,提供 HID 电话控制的 USB 耳机可以控制通话;该行显示已连接的设备名称(“已连接:Jabra Evolve2 65”)或“没有带通话控制键的耳机”。关闭该开关会释放设备。
| 耳机上的控制键 | 作用 |
|---|---|
| 摘挂机键(接听 / 结束) | 接听正在响铃的来电(活动通话转入保持);结束活动通话。普通的摘挂机键在有来电响铃时接听,否则挂断当前通话。 |
| 闪断键 (Flash) | 接听等待中的来电,或切换到保持中的通话。 |
| 保持键 | 保持或恢复当前通话。 |
| 静音键 | 切换您的麦克风,与通话面板中的静音 (Mute) 相同。 |
| 重拨键 | 没有通话进行时呼叫上一个外拨号码。 |
如果耳机有指示灯,它们会跟随通话:通话已接听或正在拨出时为摘机,有来电响铃时为响铃,麦克风关闭时为静音。长按一次不能同时完成接听和挂断。
限制:按键通过免提配置文件 (HFP) 而非 HID 工作的蓝牙耳机由 macOS 自行处理,不受支持;它们从不出现在此行中。键盘的媒体键和 3.5 mm 接口的耳机没有电话控制,会被忽略。只在消费者控制设备内提供控制键的耳机可能被 macOS 拒绝;此时日志显示“headset buttons: cannot open …”(见 故障排除)。
铃声
设置 › 音频 › 铃声中的声音 (Sound) 决定来电时响什么:
- 经典 (Classic)、数字 (Digital) 和 柔和 (Soft) 是三段不同的内置旋律。
- 自定文件… (Custom file…) 接受 WAV、AIFF、M4A 或 MP3 文件(“自定文件…”接受 WAV、AIFF、M4A 和 MP3。);弹出式菜单随后显示“自定:office-bell.m4a”。MacroSIP 只转换一次文件并重复使用结果,因此长文件不会拖慢下一次通话。
- 播放 (Play) 在铃声设备上以下方所设音量预听真正的选择。
- 无法读取的文件会保留之前的选择,该组会说明原因:“无法使用铃声文件:…”。
音量 (Volume) 是 0 到 100 % 的滑块,实时应用,预听时也使用。铃声从铃声设备(见上文“设备”)播出。呼叫等待在听筒中使用短促提示音而非铃声;见 通话。如果响的铃声不是您选的那一个,见 故障排除。
保持音乐
设置 › 音频 › 保持音乐中的来源 (Source) 是您保持通话时对方听到的内容:内置 (Built-in)(一段循环播放的短旋律,默认)、自定文件…(WAV、AIFF、M4A、MP3 以及 macOS 能读取的任何其他格式;弹出式菜单随后显示“自定:office-hold.m4a”)或关闭 (Off)(静音)。“对方在通话保持期间会听到此内容。”更改立即生效,对已处于保持状态的通话也是如此。无法读取的文件会保留之前的来源;组页脚和横幅显示“无法使用此文件:…”。音乐只送往保持中的通话:您自己听不到,也不会写入录音。另见 通话;如果对方听到的是别的内容,见 故障排除。
声音事件
设置 › 音频 › 声音事件 (Sound events) 中的四个开关(消息开启时还有第五个,新消息),全部默认关闭。“扬声器上的短促蜂鸣声;对方听不到。”蜂鸣声在为通话选择的扬声器上播放,绝不会进入通话或录音。
| 开关 | 播放时机 |
|---|---|
| 通话接通与结束 (Call connected and ended) | 通话接通时两声上升的蜂鸣(从保持恢复时不播放);通话结束时两声下降的蜂鸣。仅针对已建立的通话:未接或被拒接的来电和失败的外拨尝试不发声。 |
| 拨号键盘按键 (Dial pad key presses) | 没有活动通话时,在拨号键盘上按下的键的 DTMF 音(“+”没有音)。通话期间,键盘改为向对方发送 DTMF。 |
| 新语音留言 (New voicemail) | 某账户的语音信箱指示报告的新留言比之前多时的三声蜂鸣(见 来电)。 |
| 注册错误与网络断开 (Registration error and lost network) | 注册失败或网络路径消失时的两声低音蜂鸣,每 10 秒最多一次。 |
| 新消息 (New message) | 收到文字消息时的两声短促高音蜂鸣;勿扰模式下不播放,每 2 秒最多一次。此行仅在消息开启时才有(消息)。 |
音频测试
设置 › 音频 › 音频测试 (Audio test) 只有一行,扬声器与麦克风 (Speaker and microphone):“在扬声器上播放两个音 2 秒;电平表显示麦克风电平。”测试 (Test) 在“设备”中选择的扬声器上播放两个音(660 和 880 Hz)(系统默认即通话输出);再按一次重新开始。如果所选扬声器已被拔出,测试音改在系统默认设备上播放。按钮旁的电平表是实时麦克风电平,与“麦克风”行中的相同。测试音绝不会进入通话或录音。
回声消除与语音处理
回声消除 (Echo cancellation) 默认开启:“仅当您的耳机自身消除回声时才关闭。”
使用默认输入和输出设备时,音频经过系统的语音处理单元,它增加了噪声抑制和自动增益控制;没有相应的开关。手动选择非默认设备时,改用引擎内置的回声消除器。
编解码器
设置 › 编解码器按优先顺序列出编解码器;此顺序即 SDP 中提供的顺序。拖移行或使用上移 (Move up) / 下移 (Move down);未勾选的编解码器绝不会被提供;至少要保留一个启用。恢复默认 (Restore Defaults) 恢复顺序并只开启 Opus、G.722 和 PCMU。
| 编解码器 | 默认 | 采样率 | 比特率 |
|---|---|---|---|
| Opus | 开 | 48 kHz | 6–510 kbit/s |
| G.722 | 开 | 16 kHz | 64 kbit/s |
| PCMU (G.711 µ-law) | 开 | 8 kHz | 64 kbit/s |
| PCMA (G.711 A-law) | 关 | 8 kHz | 64 kbit/s |
| G.722.1 (Siren 7)、G.722.1C (Siren 14) | 关 | 16 / 32 kHz | 16–32 / 24–48 kbit/s |
| GSM | 关 | 8 kHz | 13 kbit/s |
| iLBC | 关 | 8 kHz | 13–15 kbit/s |
| Speex 8 / 16 / 32 kHz | 关 | 8 / 16 / 32 kHz | 2–44 kbit/s |
“宽带编解码器(Opus、G.722、G.722.1、Speex 16 和 32 kHz)仅在 PBX 支持时才能工作。”没有 G.729。如果您的 PBX 只提供 G.711 A-law,请开启 PCMA。
Opus 开关
- 丢包修复 (FEC) (Packet-loss correction (FEC)),开:“用少量额外数据修复丢失的数据包;在 Wi-Fi 和移动网络上请保持开启。”
- 静音抑制 (DTX) (Silence suppression (DTX)),关:“在停顿期间节省带宽,但可能截掉词首;仅在连接较慢时使用。”
Opus 未勾选时两者都被禁用;它们立即应用到新的和重新协商的流。
影响音频的网络设置
| 设置(设置 › 网络) | 默认 | 对音频的意义 |
|---|---|---|
| STUN 服务器 (STUN server) | 空 | 让引擎在 NAT 后得知自己的公网地址。“如果您不在 NAT 后,请留空。” |
| 使用 ICE (Use ICE) | 开 | “帮助音频穿过 NAT。使用上方的 STUN 服务器。” |
| 使用 rport (Use rport) | 开 | “在 NAT 后有帮助:服务器回复到您发起呼叫的地址。” |
| 保活间隔 (Keep-alive interval) | 15 秒 | “在两次注册之间保持 NAT 绑定开放。” |
| 端口范围 (Port range)(RTP) | 起始 4000,1000 个端口 | “通话音频的端口,1024–65535。每路通话需要两个。”请在防火墙上开放或转发此范围。在面板提供的引擎重新启动后生效。 |
| 本地 SIP 端口 (Local SIP port) | 5060 | 0 表示选取一个空闲端口。更改它会重新注册所有账户。 |
传输(UDP/TCP/TLS)和 SRTP 按账户设置;见 账户。服务器使用私有 IP 地址的账户完全不使用 STUN(见 账户)。
单向音频的故障排除
单向音频几乎总是意味着 SIP 信令正常,但 RTP 数据包无法穿过 NAT 或防火墙返回。
- **检查麦克风权限。**如果通话面板显示“麦克风访问已关闭”,请在系统设置 › 隐私与安全性 › 麦克风中允许 MacroSIP。更新后会再次请求权限(安装)。
- **检查设备。**说话时观察设置 › 音频中的电平表;如果“系统默认”指向了错误的设备,请明确选取设备。
- 在 NAT 后:设置 STUN 服务器(您的服务商提供的,或公共服务器如
stun.example.org:3478),并保持使用 ICE开启,这样媒体会发送到远端能够到达的地址。 - 保持 rport 开启,以便服务器回复到它实际看到的地址和端口。
- **防火墙:**允许本地 SIP 端口和 RTP 端口范围(默认 4000–4999)上的 UDP。
- **VPN 或多个网络接口:**网络变化时引擎会重新注册并对通话重新 INVITE;如果音频仍然中断,请降低保活间隔。