在Android上测试电话会议

时间:2015-12-15 04:23:13

标签: android sinch

我正在尝试使用示例应用设置电话会议。基本上我所做的就是替换

mSinchClient.getCallClient().callUser(userId) 

指令

mSinchClient.getCallClient().callConference(confId) 
SinchService.java文件中的

。我认为这会设立一个会议,但它没有给我一个错误:

com.sinch.android.rtc.sample.calling D/Call: onSessionTerminated: 94250e95-5a55-4f0f-97c0-ac85ed4f7bca: SessionDetails [startTime=1450151944, endTime=1450151946, progressTime=0, establishTime=0, terminationCause=FAILURE, packetsSent=0, packetsReceived=0, error=SinchError[errorType=OTHER, code=4000, message='DomainParameterInvalid (2228301)', data={serverCode=2228301, serverMessage=DomainParameterInvalid}]]

根据文档(https://www.sinch.com/docs/voice/android/#setupaconferencecall),我几乎要做的就是:

CallClient callClient = sinchClient.getCallClient();
Call call = callClient.callConference("<conferenceId>");
call.addCallListener(...);

编辑: 在这里和那里尝试了一些事情后,我得到了它的工作。代码看起来像这样:

confToCall = etCallConf.getText().toString();
call = sinchClient.getCallClient().callConference(confToCall);

没有太大的意义。这可能是您从Sinch人那里获得的示例代码的唯一区别。

您可以在此处找到我的MainActivity的来源: MainActivity.java

1 个答案:

答案 0 :(得分:0)

如果你设置了会议ID,我会调用以下方法来使用会议ID,或者在这种情况下使用呼叫ID

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.callscreen);

    mAudioPlayer = new AudioPlayer(this);
    mCallDuration = (TextView) findViewById(R.id.callDuration);
    mCallerName = (TextView) findViewById(R.id.remoteUser);
    mCallState = (TextView) findViewById(R.id.callState);
    Button endCallButton = (Button) findViewById(R.id.hangupButton);

    endCallButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            endCall();
        }
    });
    mCallStart = System.currentTimeMillis();
    mCallId = getIntent().getStringExtra(SinchService.CALL_ID);
    mPin = getIntent().getStringExtra("PIN");

}