chao/l5-alidayu-tts

阿里大于文本转语音通知laravel5封装包,提供语音通知功能。

1.0.1 2016-09-17 05:49 UTC

This package is not auto-updated.

Last update: 2025-02-01 21:09:00 UTC


README

#阿里大于文本转语音通知 Laravel5支持库

## 安装和配置

1、使用Composer进行安装,在您工程目录下执行

composer require "chao/l5-alidayu-tts"

2、增加Service Provider

请将以下代码增加到您的config/app.php文件的providers数组中。

Chao\Tts\AlidayuServiceProvider::class

完成后您的代码将类似下面:

        ...
        /*
         * Application Service Providers...
        */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,
        ...
        Chao\Tts\AlidayuServiceProvider::class,

3、配置

请先执行以下命令生成配置文件:

php artisan vendor:publish

该命令将会把tts.php配置文件增加到您的配置文件目录config下。

修改项目环境变量增加阿里大于密钥配置。修改您的.env文件,并增加以下两个变量:

ALIDAYU_TTS_KEY=YOUR_KEY
ALIDAYU_TTS_SECRETKEY=YOUR_SECRETKEY
ALIDAYU_TTS_FAKE=false

注意:ALIDAYU_TTS_FAKE设置为true的时候,程序将模拟发送文本转语音通知(不调用阿里大于),并一律返回发送成功的消息体。该功能主要用于集成测试。在测试环境下设置为true可有效避免程序员半夜被骚扰。

以上配置文件请从阿里大于网站获得。

开始使用

1、程序调用

在您需要调用语音通知的控制器中引用本函数库。

  use Chao\Tts\SingleCallPusher as SingleCall;

在需要调用的函数中:

  public function postCall(SingleCall $singleCall)
  {
    $result = $singleCall->tts($calledNum, $calledShowNum, $ttsCode, $ttsParam);
  }

call方法一共调用了4个参数。含义如下:

注意: $ttsParam中的数组应为一维数组,并且元素的值仅支持字符串类型。

参数具体使用请参见阿里大于API文档

返回执行发送的结果

发送成功后程序将会返回以下对象(示例):

{
  "result": {
    "err_code": "0",
    "mode": "237791^671231",
    "success": true,
  },
  "request_id": "57dcd4b5c0c6c",
}

调用失败将返回以下对象(示例):

{
  "code": 15,
  "msg": "Remote service error",
  "sub_code": "isv.INVALID_PARAMETERS",
  "sub_msg": "ttsParam invalid",
  "request_id": "qm4fd9jxe1xi",
}

详细返回结果请查询阿里大于API及相关文档。

鸣谢

本项目参考了AliSMS - For Laravel5代码。鸣谢 秋綾 (yoruchiaki@foxmail.com)所提供的短信部分功能。

作者

周超 chao@zhou.fr