chao / l5-alidayu-tts
阿里大于文本转语音通知laravel5封装包,提供语音通知功能。
Installs: 37
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
pkg:composer/chao/l5-alidayu-tts
Requires
- php: >=5.5.0
This package is not auto-updated.
Last update: 2025-12-21 02:23:55 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个参数。含义如下:
| 名称 | 类型 | 是否必须 | 示例 | 说明 |
|---|---|---|---|---|
| $calledNum | 字符串 | 必须 | 13700000000 | 被叫号码,支持国内手机号与固话号码,格式如下:057188773344,13911112222,4001112222,95500 |
| $calledShowNum | 字符串 | 必须 | 4001112222 | 被叫号显,传入的显示号码必须是阿里大于“管理中心-号码管理”中申请或购买的号码 |
| $ttsCode | 字符串 | 必须 | TTS_10001 | TTS模板ID,传入的模板必须是在阿里大于“管理中心-语音TTS模板管理”中的可用模板 |
| $ttsParam | 数组 | 可选 | ['key' => 'val'] | 文本转语音(TTS)模板变量,传参规则array('key' => 'value'),其中key的名字须和TTS模板中的变量名一致 |
注意: $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