- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 voip 通话期间发送 dtmf。为了做到这一点,我正在使用
mCall.dialDtmf(String.valueOf(dtmf));
mCall 是调用 PjSip 的形式。调用此函数时,我捕获异常:
04-25 16:03:57.867 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: java.lang.Exception: Title: pjsua_call_dial_dtmf(id, &pj_digits)
04-25 16:03:57.867 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: Code: 70013
04-25 16:03:57.867 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: Description: Invalid operation (PJ_EINVALIDOP)
04-25 16:03:57.867 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: Location: ../src/pjsua2/call.cpp:551
04-25 16:03:57.879 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at org.pjsip.pjsua2.pjsua2JNI.Call_dialDtmf(Native Method)
04-25 16:03:57.879 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at org.pjsip.pjsua2.Call.dialDtmf(Call.java:143)
04-25 16:03:57.879 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at com.kaymera.kphoneapp.voipEngine.PJCall.dialDtmf(PJCall.java:115)
04-25 16:03:57.879 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at com.kaymera.kphoneapp.voipEngine.calls.VoipCall.sendDTMF(VoipCall.java:149)
04-25 16:03:57.879 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at kphoneapp.kymera.kvoip.myapplication.MainActivity.generateDtmf(MainActivity.java:223)
04-25 16:03:57.880 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at kphoneapp.kymera.kvoip.myapplication.MainActivity$$ViewBinder$11.doClick(MainActivity$$ViewBinder.java:110)
04-25 16:03:57.880 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
04-25 16:03:57.880 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at android.view.View.performClick(View.java:4764)
04-25 16:03:57.880 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at android.view.View$PerformClick.run(View.java:19844)
04-25 16:03:57.880 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
04-25 16:03:57.880 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
04-25 16:03:57.881 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at android.os.Looper.loop(Looper.java:135)
04-25 16:03:57.881 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5349)
04-25 16:03:57.881 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at java.lang.reflect.Method.invoke(Native Method)
04-25 16:03:57.881 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
04-25 16:03:57.881 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
04-25 16:03:57.881 19670-19670/kphoneapp.kymera.kvoip.myapplication W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
我该如何解决?
最佳答案
我遇到了类似的问题,问题是服务器对 DTMF 使用了不同的方法。
dialDtmf 方法使用 RFC 2833,而我的服务器使用 SIP INFO 调用 DTMF。
这是适用于我的服务器的代码:
CallSendRequestParam prm = new CallSendRequestParam();
prm.setMethod("INFO");
SipTxOption txo = new SipTxOption();
txo.setContentType(" application/dtmf-relay");
txo.setMsgBody("Signal=" + String.valueOf(code) + "\n" + "Duration=160");
prm.setTxOption(txo);
call.sendRequest(prm);
关于android - 如何在 Android 上使用 pjsip 发送 dtmf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859535/
我开发了 android 应用程序,可以在单击按钮时调用其他人,但现在我想在需要时将 dtmf 音调从应用程序发送到该呼出电话。那么该怎么做呢? 最佳答案 其实是可以的。它不是那么明显,也不是那么优雅
我有以下拨号方案: exten => 224,1,NoOp(IN CALL : ${CALLERID(num)} => ${EXTEN}) exten => 224,n,Dial(${
我想知道是否有人遇到过在 iPhone SDK 中生成铃声的方法。我正在尝试生成 DTMF 音调,但似乎找不到任何实质性内容。我还希望能够指定播放音调的时间(即模拟按住按钮而不是简单地按下按钮....
所以我打开了一个我在 audacity 中生成的 DTMF 音调的 .raw 文件。我抓取了一个类似于维基百科文章中的 jar 装 goertzel 算法。虽然它似乎没有解码正确的数字。 解码后的数字
我正在尝试为基于 WebRTC 的 Android/iOS 应用程序实现 DTMF。是否有适用于 Android 的 DTMF API?我试过调用以下内容: m_peerConnectionFacto
所以我打开了一个我在 audacity 中生成的 DTMF 音调的 .raw 文件。我抓取了一个类似于维基百科文章中的 jar 装 goertzel 算法。虽然它似乎没有解码正确的数字。 解码后的数字
我正在尝试为基于 WebRTC 的 Android/iOS 应用程序实现 DTMF。是否有适用于 Android 的 DTMF API?我试过调用以下内容: m_peerConnectionFacto
我需要在我的应用程序中开发拨号盘,就像原生 iPhone 手机应用程序拨号盘一样。我已将 .wav 文件添加到我的项目中,以便在单击数字按钮时播放声音,但它们太大声了。但 iPhone 手机应用程序拨
我正在尝试执行以下操作 我正在使用我的 java 应用程序给另一个人打电话(已经完成并且工作正常)。 然后我正在播放录音,例如“请按 1 以继续用英语”(已经完成并且工作正常)。 现在我想检测那个人按
我已经阅读了有关用于检测带内 dtmf 的 freeswitch 中的 start_dtmf 应用程序。 我已经测试过这个,但它没有检测到任何 DTMF。 请帮我。 最佳答案 老问题,但值得
我只需要一段 java 代码,它可以从麦克风中检测 DTMF,并将字符打印到 System.out。我一直在寻找,但找不到。 最佳答案 关于用 Java 捕获音频的 Oracle 文档: http:/
从此处找到的示例开始:https://trac.pjsip.org/repos/wiki/Getting-Started/Android ,我设法构建并运行了 pjsua2 示例应用程序。 问题是我无
有什么方法可以动态生成上行链路 DTMF 音(即接收器听到它)? 当我查看 android 源代码时,我看到了一个名为 startDTMF() 的函数,这正是我所需要的,但我找不到任何允许我访问该函数
我正在使用 android SIP(android.net.sip) 进行 VOIP 通话。正在尝试发送 DTMF。在SipAudioCall类的android中给出了两个方法 void sendDt
我想在接听电话后调用一个号码,这通常是通过通话中的拨号盘完成的。 我尝试了以下方法,但开始调用新电话(ACTION_VIEW 也是如此)。 Intent dial = new Intent(Inten
我正在调用一个带有号码的通话应用程序,然后通过 发送 dtmf 音 String number = "tel:+1234567,890#"; Intent c1 = new Intent(androi
Android 的新手。我有一个应用程序正在运行,我正在生成 DTMF 信号并解释微 Controller 生成的内容。我成功地生成了音调,但是音调是通过扬声器播放的,我想通过一个拼接的耳机插孔播放音
我有一个拨号方案,我想要的是,如果用户按任意键然后再次播放文件,但我不明白如何在拨号方案中获取dtmf 值。这是我的拨号方案: [callme] exten => s,1,Answer exten
我正在开展一个项目,该项目要求我的应用能够在通话期间以语音的上行链路频率发送 DTMF 音。 我的两个条件是: 我们不使用定制的 Android 平台 我们不需要root手机 我花了几天时间做功课,并
我正在将 CallKit 与 VOIP 应用集成。我能够拨入和拨出电话。我遵循了以下步骤: 配置 Audio Session 在(didActivate)中启动音频 在(didDeActivate)中
我是一名优秀的程序员,十分优秀!