首页 > 解决方案 > 如何在 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());

                }


            }
        });
    }

标签: javaandroidhttprequestalexa-voice-service

解决方案


推荐阅读