是转写,不是听写!!!
是转写,不是听写!!!
是转写,不是听写!!!
讯飞开放平台提供的api里面,demo只提供了py3和java的版本!!!
github包括码云我也没有找到现成的代码(不一定没有,或许是我没有找到),只能自己写一份!!!其实是很简单的几个api,但是自己写一遍还会发现里面的坑,比如文档中的部分参数是string类型的bool值,吐槽一下!!!
我们用的是Yii2,所以demo也是Yii2的风格,代码是需要根据自己的需求改动的,比如分片,我们的场景是不需要的,所以是直接写死的,下面是我的demo,希望能帮到部分有需要的人:
<?php
namespace frontend\controllers;
use Yii;
class AudioController extends BaseController
{
const PREPARE_URL = 'http://raasr.xfyun.cn/api/prepare';// 预处理 /prepare:
const UPLOAD_URL = 'http://raasr.xfyun.cn/api/upload';// 文件分片上传 /upload:
const MERGE_URL = 'http://raasr.xfyun.cn/api/merge';// 合并文件 /merge:
const GET_PROGRESS_URL = 'http://raasr.xfyun.cn/api/getProgress';// 查询处理进度 /getProgress:
const GET_RESULT_URL = 'http://raasr.xfyun.cn/api/getResult';// 获取结果 /getResult:
/**
* 翻译接口
*
* @return array
* @throws RunException
*/
public function actionExec()
{
$result = $this->requestData;// 接收参数
if (empty($result->file)) {
throw new RunException('请求参数异常', 400);
}
$mime = (new \finfo(FILEINFO_MIME_TYPE))->file($result->file);
$file = $result->file;
$appId = Yii::$app->params['xunFeiAppId'];
$secretKey = Yii::$app->params['xunFeiSecretKey'];
$prepareData = static::prepare($appId, $secretKey, $file);
if ($prepareData['ok'] != 0) {
throw new RunException('prepare失败&#