Как отправить звук, записанный в Android, в API распознавания динамика Microsoft? - PullRequest
0 голосов
/ 04 мая 2018

Я наткнулся на многие решения этого вопроса, но большинство либо устарели, либо не работают с SDK 26 в Android. Я пытаюсь использовать API распознавания динамика Microsoft через клиент Android. Пример MS приведен ниже: -

public class JavaSample {
    public static void main(String[] args) {
        HttpClient httpclient = HttpClients.createDefault();

        try {
            URIBuilder builder = new URIBuilder("https://westus.api.cognitive.microsoft.com/spid/v1.0/identificationProfiles/{identificationProfileId}/enroll");

            builder.setParameter("shortAudio", "{boolean}");

            URI uri = builder.build();
            HttpPost request = new HttpPost(uri);
            request.setHeader("Content-Type", "multipart/form-data");
            request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");


            // Request body
            StringEntity reqEntity = new StringEntity("{body}");
            request.setEntity(reqEntity);

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) 
            {
                System.out.println(EntityUtils.toString(entity));
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

Но поскольку библиотеки org.apache.http устарели в версиях SDK 23 и выше, я не уверен, что именно использовать.

ПРИМЕЧАНИЕ. - Некоторые решения предлагают использовать HTTPURLConnection, но ни одно не объясняет, как точно добавить тип контента (октет-поток).

Поскольку я очень плохо знаком с Android, прошу прощения за любую наивность в вопросе.

Спасибо всем заранее!

...