Я сослался и смешал код из Интернета, все работает нормально, но когда я передаю new MediaContraints() в pc.createAnswer(), метод pc.setLocalDescription() не вызывается. Но когда я передаю такие ограничения, как «offerToRecieveAudio» и «video», это правда, что дает ошибку, например недопустимые ограничения.
Может ли кто-нибудь помочь мне.
Спасибо
private void createAnswer()
{
Log.e(TAG,"Create Answer...............................");
peerConnection.createAnswer(new CustomSdpObserver("create Answer")
{
@Override
public void onCreateSuccess(SessionDescription sessionDescription)
{
super.onCreateSuccess(sessionDescription);
Log.e(TAG,"onCreateAnswer...............................");
peerConnection.setLocalDescription(new CustomSdpObserver("create Answer Local Description")
{
@Override
public void onCreateSuccess(SessionDescription sessionDescription)
{
super.onCreateSuccess(sessionDescription);
try {
JSONObject json = new JSONObject();
JSONObject jsonObject = new JSONObject();
JSONObject sessDescObj = new JSONObject();
sessDescObj.put("sdp",sessionDescription.description);
sessDescObj.put("type","ANSWER");
json.put("type", "rtc");
json.put("dest", CustomWebSocketListener.fromUser);
jsonObject.put("sdp", sessDescObj);
json.put("data",jsonObject);
Log.d(TAG,"Answer Success " + json.toString());
ws1.send(json.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
}, sessionDescription);
}
@Override
public void onCreateFailure(String s)
{
super.onCreateFailure(s);
Log.e(TAG,"onCreateFailure Answer " + s);
}
@Override
public void onSetSuccess()
{
super.onSetSuccess();
Log.e(TAG,"onSetSuccess Answer");
}
@Override
public void onSetFailure(String s)
{
super.onSetFailure(s);
Log.e(TAG,"onSetFailure Answer" + s);
}
}, new MediaConstraints());
}