gpt4 book ai didi

android - 如何在 android 中静音 PJSUA 调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:32 25 4
gpt4 key购买 nike

我正在使用 PJSUA 在 android 中开发 VOIP 应用程序,在这里我想静音通话

我正在阅读与 PJSUA 相关的文档,我找到了用于此目的但无法在 android APP 中实现的方法,请任何可以帮助我将调用设置为静音模式的人

我在这里提供 PJSUA 文档中的详细信息,

     pj_status_t pjsua_conf_adjust_rx_level (pjsua_conf_port_id slot,
float level )

调整从指定端口(到桥接器)接收的信号电平,使其变大或变小。

Parameters

  • slot: The conference bridge slot number.
  • level: Signal level adjustment. Value 1.0 means no level adjustment, while value 0 means to mute the port.

Returns

  • PJ_SUCCESS on success, or the appropriate error code.

我想要这样的解决方案来使用 PJSUA 在 android 中保持通话

public void holdCall() {
CallOpParam prm = new CallOpParam(true);
try {
currentCall.setHold(prm);
} catch (Exception e) {
e.printStackTrace();
}
}

谢谢

最佳答案

希望你一切顺利。因为我也是 Android PJSUA 的新手。我阅读了更多有关使通话静音的文档。但我找到了一种可能的最佳解决方案,它在我的环境中运行良好,如下所示

 public void setMute(boolean mute) {
// return immediately if we are not changing the current state
CallInfo info;
try {
info = getCurrentCall().getInfo();
} catch (Exception exc) {
return;
}

for (int i = 0; i < info.getMedia().size(); i++) {
Media media = getCurrentCall().getMedia(i);
CallMediaInfo mediaInfo = info.getMedia().get(i);

if (mediaInfo.getType() == pjmedia_type.PJMEDIA_TYPE_AUDIO
&& media != null
&& mediaInfo.getStatus() == pjsua_call_media_status.PJSUA_CALL_MEDIA_ACTIVE) {
AudioMedia audioMedia = AudioMedia.typecastFromMedia(media);

// connect or disconnect the captured audio
try {
AudDevManager mgr = MyApp.ep.audDevManager();

if (mute) {
mgr.getCaptureDevMedia().stopTransmit(audioMedia);
} else {
mgr.getCaptureDevMedia().startTransmit(audioMedia);
}

} catch (Exception exc) {
}
}
}
}

为了支持 pjsip,我们中的一位好人做得非常出色 here .这样您就可以看到代码。

享受你的代码时间:)

关于android - 如何在 android 中静音 PJSUA 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37929699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com