Android pjsip音频发生器(Dtmf)错误

时间:2017-10-05 07:08:00

标签: java android pjsip

我使用pjsip库创建了一个音调生成器功能。

import org.pjsip.pjsua2.ToneDigit;
import org.pjsip.pjsua2.ToneDigitMapDigit;
import org.pjsip.pjsua2.ToneDigitMapVector;
import org.pjsip.pjsua2.ToneDigitVector;
import org.pjsip.pjsua2.ToneGenerator;

private static ToneGenerator toneGenerator;

 private boolean initToneGenerator() {
        try {
            toneGenerator = new ToneGenerator();
            toneGenerator.createToneGenerator();
            ToneDigitMapVector digitMap = new ToneDigitMapVector();
            ToneDigitMapDigit digit = new ToneDigitMapDigit();
            digit.setDigit("0");
            digit.setFreq1(941);
            digit.setFreq2(1336);
            digitMap.add(digit);
            digit.setDigit("1");
            digit.setFreq1(697);
            digit.setFreq2(1209);
            digitMap.add(digit);
            digit.setDigit("2");
            digit.setFreq1(697);
            digit.setFreq2(1336);
            digitMap.add(digit);
            digit.setDigit("3");
            digit.setFreq1(697);
            digit.setFreq2(1477);
            digitMap.add(digit);
            digit.setDigit("4");
            digit.setFreq1(770);
            digit.setFreq2(1209);
            digitMap.add(digit);
            digit.setDigit("5");
            digit.setFreq1(770);
            digit.setFreq2(1336);
            digitMap.add(digit);
            digit.setDigit("6");
            digit.setFreq1(770);
            digit.setFreq2(1477);
            digitMap.add(digit);
            digit.setDigit("7");
            digit.setFreq1(852);
            digit.setFreq2(1209);
            digitMap.add(digit);
            digit.setDigit("8");
            digit.setFreq1(852);
            digit.setFreq2(1336);
            digitMap.add(digit);
            digit.setDigit("9");
            digit.setFreq1(852);
            digit.setFreq2(1477);
            digitMap.add(digit);
            digit.setDigit("*");
            digit.setFreq1(941);
            digit.setFreq2(1209);
            digitMap.add(digit);
            digit.setDigit("#");
            digit.setFreq1(941);
            digit.setFreq2(1477);
            digitMap.add(digit);
            digit.setDigit("A");
            digit.setFreq1(697);
            digit.setFreq2(1633);
            digitMap.add(digit);
            digit.setDigit("B");
            digit.setFreq1(770);
            digit.setFreq2(1633);
            digitMap.add(digit);
            digit.setDigit("C");
            digit.setFreq1(852);
            digit.setFreq2(1633);
            digitMap.add(digit);
            digit.setDigit("D");
            digit.setFreq1(941);
            digit.setFreq2(1633);
            digitMap.add(digit);
            toneGenerator.setDigitMap(digitMap);
            // toneDigitVector = new ToneDigitVector();
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }

dtmf音调工作正常,一切都好。问题在于,当我开始一个电话(我的initToneGenerator()被调用)并且应用程序堆叠一点时,它会自动关闭,然后它会带回调用屏幕。

我没有收到任何错误,只是重新启动活动的信号。

0 个答案:

没有答案