我的应用程序使用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中找不到任何方法。 如果您知道,谁能帮助我?
答案 0 :(得分:0)
无论如何,正如我所看到的,您需要Java文档的link。
然后here可以跟随Github上的java sdk。
此外,您还可以找到所需的有关转录API here的更多信息。
首先,您为什么需要它?也许,您不需要。
我发现,您无法使用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);
}
}
我不确定它是否可以正常工作,但我希望它能以正确的方式帮助您