PHP - Google Speech API:Class' Google \ Cloud \ Speech \ SpeechClient'未找到

时间:2017-05-31 14:22:35

标签: php composer-php google-cloud-platform

我希望有人可以帮我弄清楚如何让google的语音文字api运行。

https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/speech/api

我尝试运行的具体代码是:src / functions / transcribe_sync.php

在末尾添加一行来调用函数:

transcribe_sync("mono.flac", 'en-US');

它无法找到依赖关系。我一直在和作曲家一起玩,但是还没有能够解决这个问题。

继承错误:

php transcribe_sync.php
PHP Fatal error:  Uncaught Error: Class 'Google\Cloud\Speech\SpeechClient' not found in /home/bhaag/Documents/php-docs-samples-master/speech/api/src/functions/transcribe_sync.php:45
Stack trace:
#0 /home/bhaag/Documents/php-docs-samples-master/speech/api/src/functions/transcribe_sync.php(55): Google\Cloud\Samples\Speech\transcribe_sync('mono.flac', 'en-US')
#1 {main}
  thrown in /home/bhaag/Documents/php-docs-samples-master/speech/api/src/functions/transcribe_sync.php on line 45

继承我的composer.json文件:

{
    "require": {
        "google/cloud-speech": "^0.2",
        "google/cloud-storage": "^1.0",
        "google/gax": "^0.8.1",
        "google/proto-client-php": "^0.10.0",
        "symfony/console": "^3.0",
        "php-ffmpeg/php-ffmpeg": "^0.9.3"
    },
    "autoload": {
        "psr-4": {
            "Google\\Cloud\\Samples\\Speech\\": "src/"
        },
        "files": [
            "src/functions/streaming_recognize.php",
            "src/functions/transcribe_async.php",
            "src/functions/transcribe_async_gcs.php",
            "src/functions/transcribe_sync.php",
            "src/functions/transcribe_sync_gcs.php"
        ]
    },
    "require-dev": {
        "phpunit/phpunit": "~4"
    }
}

我已经能够运行完整的语音示例,所以我知道我已经正确设置了所有凭据,但是使用完整的示例(主目录中的speech.php)似乎真的很神秘。

我是以错误的方式来做这件事的吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

构建样本的方式是通过根目录中的speech.php文件运行。要直接运行transcribe_sync.php,您需要包含作曲家自动加载器:

require_once "/path/to/vendor/autoload.php";

/path/to替换为安装编辑器依赖项的路径。

或者,(我推荐这个选项),在不对示例代码进行任何更改的情况下运行,在命令行运行:

php speech.php transcribe mono.flac