Google Speech API返回始终为空响应

时间:2016-08-26 12:38:02

标签: cordova cordova-plugins google-speech-api

我正在使用google speech api和cordova应用程序。

我正在录制音频并使用cordova插件“cordova-plugin-media”将其保存到我的本地驱动器之后我使用cordova-plugin-file的readAsDataUrl()方法读回文件。这是返回base64数据。

如果我将此基础64数据传递到google api服务器,它将始终返回空结果,没有任何错误。以下是相同的代码。

如果有人解决了类似的问题,请帮帮我。

var src = "cdvfile://localhost/temporary/recording.m4a";
                    var mediaRec = new Media(src,
                        // success callback
                        function (data) {
                            console.log(data);

                        },

                        // error callback
                        function (err) {

                        });

                    // Record audio
                    //mediaRec.startRecord();

                    var _options = {
                        SampleRate: 16000,
                        NumberOfChannels: 1
                    };

                    mediaRec.startRecordWithCompression(_options);

$cordovaFile.readAsDataURL('cdvfile://localhost/temporary/', 'recording.m4a')
                        .then(function (success) {
                            console.log(success);

                            mediaRec.play();

                            var _payload = {
                                config: {
                                    encoding: 'LINEAR16',
                                    sampleRate: 16000,
                                    languageCode: 'en-US',
                                    maxAlternatives: 30
                                },
                                audio: {
                                    content: success.split(',')[1]
                                }
                            };                          

                            $http.post('https://speech.googleapis.com/v1beta1/speech:syncrecognize?key={{api key}}', _payload)
                                .then(function (data) {
                                    console.log(data);
                                }, function (error) {
                                    console.log(error);
                                });

                        }, function (error) {
                            console.log(error);
                        }); 

0 个答案:

没有答案