Я наткнулся на многие решения этого вопроса, но большинство либо устарели, либо не работают с 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, прошу прощения за любую наивность в вопросе.
Спасибо всем заранее!