Как транскрибировать записи вызовов по пропускной способности в Java - PullRequest
0 голосов
/ 01 июля 2019

Мое приложение использует https://app.bandwidth.com/ для приема входящих звонков. У меня есть API для обработки входящих вызовов, которые записывают вызовы, когда на вызов не ответили (эта запись рассматривается как голосовая почта).

if (eventType.equalsIgnoreCase(EventType.ANSWER.toString())) {
   Timestamp callStartTime = new Timestamp(TimeUtil.now().getTime());
   incomingCall.setCallTime(callStartTime);
   callStatus = transferCall(callId, incomingCall.getVoiceForwardNumber(), 1);
}
else if (eventType.equalsIgnoreCase(EventType.TIMEOUT.toString())) {
   voiceMailIntro(callId);
}
else if (eventType.equalsIgnoreCase(EventType.SPEAK.toString()) && PLAYBACK_STOP.equalsIgnoreCase(callState)) {
    recordVoiceMail(callId);
}
else if (eventType.equalsIgnoreCase(EventType.RECORDING.toString()) && 
  state.equalsIgnoreCase(BandwidthCallStatus.COMPLETE.toString())) {
    createTranscription(recordingId);
}
else if (eventType.equalsIgnoreCase(EventType.TRANSCRIPTION.toString()) && status.equalsIgnoreCase(BandwidthCallStatus.COMPLETED.toString())) {
    incomingCall.setVoiceMail(text);
}

Это код для записи звонка

private void recordVoiceMail(String callId) {
   BandwidthClient client = BandwidthClient.getInstance();
   client.setCredentials(bandwidthUserId, bandwidthApiToken, bandwidthApiSecret);
   try {
      Call call = Call.get(client, callId);
       call.recordingOn();
   } catch (Exception e) {
     log.error("An exception occurred while recording voice mail : " + 
     e.getMessage(), e);
   }
}

Теперь мне нужно расшифровать эти голосовые сообщения. Из документации я получил методы на python, js, c #, ruby ​​и т. Д. Для расшифровки записей с использованием записей. Например, в js,

client.Recording.createTranscription(recordingId, function(err, transcription){});

Я искал везде, но я не мог найти какой-либо метод в Java для этого. Может ли кто-нибудь помочь мне, если вы знаете?

1 Ответ

0 голосов
/ 01 июля 2019

В любом случае, как я вижу, вам нужна эта ссылка для java doc.

И здесь вы можете перейти на java sdk, расположенный на Github.

И, кроме того, вы можете найти дополнительную информацию об API транскрипции здесь , которую вы ищете.

Прежде всего, зачем вам это нужно?Возможно, вам это не нужно.

Как я понимаю, вы не можете делать транскрибирование с помощью POJO, но вы можете сделать что-то подобное.

Если вы хотите это сделать, вы можетесделайте это с

public void transcribeOn() throws Exception {
    final List<Recording> list = Recording.list(0, 5);

    if (!list.isEmpty()) {
        final Recording recording = Recording.get(list.get(0).getId());
        System.out.println("\nRecording by Id");
        System.out.println(recording);

        final String recordingUri = mockClient.getUserResourceUri(BandwidthConstants.RECORDINGS_URI_PATH);
        client.post(recordingUri + "/" + list.get(0).getId() + "/transcriptions", null);
        final JSONObject jsonObject = call.toJSONObject(client.get(recordingUri, null));
        call.updateProperties(jsonObject);
    }
}

Я не уверен, что это работает правильно, но я надеюсь, что это поставит вас на правильный путь

...