Как указать, кому звонить с помощью службы связи Azure?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как указать, кому звонить с помощью службы связи Azure?

Сообщение Anonymous »

Я работаю над созданием приложения для Android, которое использует службу связи Azure для видео. Я использовал этот урок в качестве отправной точки и внес ряд изменений. Но в руководстве пользователь копирует токен доступа пользователя, сгенерированный из интерфейса командной строки или портала. Этот токен вводится в «Идентификатор вызова», чтобы начать работу. Однако если у меня есть два человека, у каждого из которых есть токен, сгенерированный через Портал, как мне использовать этот токен для звонков друг другу?
Код в руководстве для запуска звонок:

Код: Выделить всё

private void startCall() {
Context context = this.getApplicationContext();
EditText callIdView = findViewById(R.id.call_id);
String callId = callIdView.getText().toString();
ArrayList participants = new ArrayList();
List cameras = deviceManager.getCameras();

StartCallOptions options = new StartCallOptions();
if(!cameras.isEmpty()) {
currentCamera = getNextAvailableCamera(null);
currentVideoStream = new LocalVideoStream(currentCamera, context);
LocalVideoStream[] videoStreams = new LocalVideoStream[1];
videoStreams[0] = currentVideoStream;
VideoOptions videoOptions = new VideoOptions(videoStreams);
options.setVideoOptions(videoOptions);
showPreview(currentVideoStream);
}
participants.add(new CommunicationUserIdentifier(callId));

call = callAgent.startCall(
context,
participants,
options);

//Subscribe to events on updates of call state and remote participants
remoteParticipantUpdatedListener = this::handleRemoteParticipantsUpdate;
onStateChangedListener = this::handleCallOnStateChanged;
call.addOnRemoteParticipantsUpdatedListener(remoteParticipantUpdatedListener);
call.addOnStateChangedListener(onStateChangedListener);
}
Я изменил этот код следующим образом:

Код: Выделить всё

private void startCall(String whoCall, String whoCalled) {
Context context = this.getApplicationContext();

ArrayList participants = new ArrayList();
List cameras = deviceManager.getCameras();

StartCallOptions options = new StartCallOptions();
if(!cameras.isEmpty()) {
currentCamera = getNextAvailableCamera(null);
currentVideoStream = new LocalVideoStream(currentCamera, context);
LocalVideoStream[] videoStreams = new LocalVideoStream[1];
videoStreams[0] = currentVideoStream;
VideoOptions videoOptions = new VideoOptions(videoStreams);
options.setVideoOptions(videoOptions);
showPreview(currentVideoStream);
}

participants.add(new CommunicationUserIdentifier(whoCall));
participants.add(new CommunicationUserIdentifier(whoCalled));

call = callAgent.startCall(
context,
participants,
options);

//Subscribe to events on updates of call state and remote participants
remoteParticipantUpdatedListener = this::handleRemoteParticipantsUpdate;
onStateChangedListener = this::handleCallOnStateChanged;
call.addOnRemoteParticipantsUpdatedListener(remoteParticipantUpdatedListener);
call.addOnStateChangedListener(onStateChangedListener);

callButton.setVisibility(View.INVISIBLE);
funStuffButton.setVisibility((View.VISIBLE));
hangupButton.setVisibility(View.VISIBLE);
}
Где «whoCall» и «whoCalled» — это строки, которые являются двумя токенами Портала и задаются с помощью переключателей для того, кому звонить, идея которых состоит в том, чтобы выбрать один из два переключателя для того, кому вы хотите позвонить, которые установят «whoCall» для одного токена, а «whoCalled» для другого.
Однако, когда я пытаюсь использовать вещи таким образом, через эмулятор на моем компьютер и APK на моем телефоне, на самом деле ничего не подключается. Я думаю, моя проблема заключается в непонимании того, как токен Портала используется в приложении Android для подключения одного пользователя к другому пользователю.
У меня есть следующие мысли:
  • Нужно ли мне, чтобы обе стороны подключались через приложение к одному и тому же токену? Если это так, то как мне сделать так, чтобы один человек позвонил другому человеку?
  • Нужно ли мне изменить свой код в отношении того, как я использую токен в рамках инициации вызова? ? Я не понимаю, чем мой код настолько отличается от учебного пособия, что нарушает способ использования токена.
Любые другие мысли, которые у кого-либо есть, оценил.

Подробнее здесь: https://stackoverflow.com/questions/792 ... on-service
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»