开发者社区> 问答> 正文

如何在Android Java中发送请求并获得Alexa语音服务的响应?

我正在尝试开发使用Alexa语音服务的android应用程序,此刻,我能够获得AVS的访问令牌,还可以创建用于记录音频的媒体播放器,并将其转换为字节数组。问题是当将请求发送到Alexa时,我得到204代码。如何克服这一点。先感谢您。

public void sendAudio() { final MultipartBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("metadata","metadata", RequestBody.create(MEDIA_JSON, generateSpeechMetadata())) .addFormDataPart("audio", "audiorecordtest.pcm", RequestBody.create(MEDIA_TYPE_AUDIO, streamToSend)) .build();

    Request request = new Request.Builder()
            .addHeader("Authorization","Bearer "+accestoken)
            .post(requestBody)
            .url("https://alexa.na.gateway.devices.a2z.com/v20160207/events")
            .build();

    System.out.println("REQUEST BODY :"+ request.body().toString());




    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            call.cancel();
        }

        @Override
        public void onResponse(Call call, final Response response) throws IOException {

            final String myResponse = response.body().string();
            System.out.println("STATUS CODE"+ response.code());
            if (response.code() == HttpURLConnection.HTTP_NO_CONTENT){
                System.out.println("Successfull! No Content");

            }
            else{
                System.out.println("Successfull! have Content" +response.body().toString());

            }


        }
    });
}

展开
收起
被纵养的懒猫 2019-10-08 17:14:19 468 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载