2017-05-18 1 views
0

현재 Twilio Java SDK 클라이언트를 버전 6.x에서 버전 7.x로 업그레이드하려고합니다. 내가 겪은 문제점 중 하나는 녹음을 위해 InputStream을 검색하는 것입니다. 다음은 버전 6.x의 코드 샘플이지만 버전 7.x에서는 녹음을 위해 InputStream을 검색하는 방법을 찾을 수 없습니다. (현재 7.0.0-rc10) 내가 뭘 잘못하고 있는지 안내 해줄 수 있을까요?Twilio Java Tweaker Sdk v7.x를 사용하여 Twilio Recording 다운로드

코드 버전 = "6.x에서"

public InputStream retrieveRecording(String recordingSid) { 
    Recording recordingToRetrieve = new Recording(twilioRestClient, recordingSid); 
    recordingToRetrieve.setRequestAccountSid("xxxxxxxxx"); 
    return recordingToRetrieve.getMedia(".mp3"); 
} 

코드 버전 = "7.x의"

public InputStream retrieveRecording(String recordingSid) { 
    Recording recordingToRetrieve = Recording.fetch("xxxxxxxxx", recordingSid).execute(); 
    //How do I get the mp3 media as an Input stream ? 
} 

답변

1

는 불행히도 Twilio SDK에 쉬운 방법이 없다 V7 7.0.0-rc-10이 시점에서 레코딩 용 InputStream을 검색하려면 이상적으로 SDK에 빌드해야하지만 여기서 다운로드를 검색하는 문제를 해결하는 방법은 다음과 같습니다

private InputStream retrieveRecording(String accountSid, String authToken, String recordingSid) { 
    Twilio.init(accountSid, authToken); 
    Recording recordingToRetrieve = Recording.fetch(accountSid, recordingSid).execute(); 
    String uri = recordingToRetrieve.getUri(); 
    String mp3Uri = uri.replace(".json", ".mp3"); 
    Request request = new Request(
      HttpMethod.GET, 
      TwilioRestClient.Domains.API, 
      mp3Uri, 
      accountSid); 
    Response mp3response = Twilio.getRestClient().request(request); 
    if (mp3response == null) { 
     throw new ApiConnectionException("Recording media fetch failed: Unable to connect to server"); 
    } else if (!TwilioRestClient.SUCCESS.apply(mp3response.getStatusCode())) { 
     RestException restException = RestException.fromJson(mp3response.getStream(), Twilio.getRestClient().getObjectMapper()); 
     if (restException == null) { 
      throw new ApiException("Server Error, no content"); 
     } 

     throw new ApiException(
       restException.getMessage(), 
       restException.getCode(), 
       restException.getMoreInfo(), 
       restException.getStatus(), 
       null); 
    } 
    return mp3response.getStream(); 
} 
+1

7.13.x 사용. 이 일을하는 새로운 방법? TwilioRestClient.Domains.API, 위의 행이 작동하지 않습니다. –

+0

Recording.reader()를 사용할 때 "Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier 유형의 정적 필드 인스턴스 없음"오류가 발생합니다. Android Orio의 Twilio SDK 이 문제를 어떻게 해결할 수 있습니까? – Robs