我正在尝试使用示例应用设置电话会议。基本上我所做的就是替换
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
答案 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");
}