<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                富源語音轉寫是異步任務的方式展開,一個是創建任務,一個是獲得任務結果。但在訪問這兩個接口前需要獲得授權 `access_token` ,所以共有三個接口。 # ## 1、獲得授權access_token 訪問這個接口需要提供`appid`和`secret`,這兩者需要到富源平臺注冊應用,然后在應用的右側獲得。 這個`access_token`的有效時間為兩個小時,請注意管理避免過期。 # ~~~[api:notDebug] get:/v1/token *appid=a44r4aMbO7BZ1NoW#申請的appid *secret=a4474wRq9BwujRV7hM4SGH0QMyrEJF5J#申請的appsecret *grant_type=client_credential#類型 <<< success { "accessToken": "a447bdDAUeKORvmt", "expires": 7200 } <<< 403 { "status": 403, "error": "SecretIsInvalid", "message": "無效的 secret" } ~~~ # ##### C#訪問示例代碼: ~~~CSharp var client = new RestClient("http://gateway.api.yun2win.com/v1/token?grant_type=client_credential&appid=a44r4aMbO7BZ1NoW&secret=a4474wRq9BwujRV7hM4SGH0QMyrEJF5J"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AlwaysMultipartFormData = true; IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ~~~ # ##### Java訪問示例代碼: ~~~ java OkHttpClient client = new OkHttpClient().newBuilder().build(); Request request = new Request.Builder() .url("http://gateway.api.yun2win.com/v1/token?grant_type=client_credential&appid=a44r4aMbO7BZ1NoW&secret=a4474wRq9BwujRV7hM4SGH0QMyrEJF5J") .method("GET", null) .build(); Response response = client.newCall(request).execute(); ~~~ # #### Nodejs訪問示例代碼: ~~~javascript var unirest = require('unirest'); var req = unirest('GET', 'http://gateway.api.yun2win.com/v1/token?grant_type=client_credential&appid=a44r4aMbO7BZ1NoW&secret=a4474wRq9BwujRV7hM4SGH0QMyrEJF5J') .end(function (res) { if (res.error) throw new Error(res.error); console.log(res.raw_body); }); ~~~ # ## 2、創建語音轉寫任務 上傳已錄制好的音頻(暫只支持mp3,不能超過10M),生成語音轉寫任務。任務創建成功,自動會加入轉寫隊列。 # ~~~[api:notDebug] post:/api/lasr/long/create *file:aduio=c:/a.mp3#已錄制好的音頻 <<< success { "taskId": "a45D16UhKJ4xeSSO", "duration": 3, "status": "處理中" } <<< 401 錯誤一: { "status": 401, "error": "AccessTokenNoExist", "message": "必須有 accessToken" } 錯誤二: { "status": 401, "error": "AccessTokenIsInvalid", "message": "無效的?accessToken" } 錯誤三: { "status": 401, "error": "AccessTokenHasExpired", "message": "accessToken 已過期" } <<< 403 錯誤一: { "status": 403, "error": "SecretIsInvalid", "message": "無效的 secret" } 錯誤二: { "status": 403, "error": "SecretHasDisabled", "message": "secret 已被禁用" } 錯誤三: { "status": 403, "error": "SecretError", "message": "secret 狀態異常" } 錯誤四: { "status": 403, "error": "LimitExceeded", "message": "已超出用量限制" } <<< 500 { "error":"Params_Audio_Missing", "message:"請補充語音文件audio欄位(mp3)" } { "error":"Audio_Len_Too_Short", "message:"音頻文件太小,長度不能少于1秒" } ~~~ # ##### C#訪問示例代碼: ~~~CSharp var client = new RestClient("http://gateway.api.yun2win.com/api/lasr/long/create"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer a447bdDAUeKORvmt"); // 這里的a447bdDAUeKORvmt就是接口1取得的access_token request.AddFile("audio", "/Users/test/Desktop/zv1qh-yfbgq.mp3"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ~~~ # ##### Java訪問示例代碼: ~~~ java OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM) .addFormDataPart("audio","zv1qh-yfbgq.mp3", RequestBody.create(MediaType.parse("application/octet-stream"), new File("/Users/test/Desktop/zv1qh-yfbgq.mp3"))) .build(); Request request = new Request.Builder() .url("http://gateway.api.yun2win.com/api/lasr/long/create") .method("POST", body) .addHeader("Authorization", "Bearer a447bdDAUeKORvmt") // 這里的a447bdDAUeKORvmt就是接口1取得的access_token .build(); Response response = client.newCall(request).execute(); ~~~ # #### Nodejs訪問示例代碼 ~~~javascript var unirest = require('unirest'); var req = unirest('POST', 'http://gateway.api.yun2win.com/api/lasr/long/create') .headers({ 'Authorization': 'Bearer a447bdDAUeKORvmt' // 這里的a447bdDAUeKORvmt就是接口1取得的access_token }) .attach('file', '/Users/test/Desktop/zv1qh-yfbgq.mp3') .end(function (res) { if (res.error) throw new Error(res.error); console.log(res.raw_body); }); ~~~ # ## 3、獲得語音轉寫任務的結果 從接口獲得了`taskId`,要獲得轉寫結果需要訪問下面接口,建議可以不定期請求,請求間隔時間建議請參考最佳實踐。 注意taskId是直接寫在訪問接口地址中,而不是寫在query里。 # ~~~[api:notDebug] get:/api/lasr/long/:taskId/result *taskId=a45D16UhKJ4xeSSO#任務Id <<< success { "status": "已完成", "result": [ { "begin": "780", // 此段的開始時間,單位毫秒 "end": "2770", // 此段的結束時間,單位毫秒 "text": "這是做一個測試。" // 此段識別的文字 } ] } { "status": "處理中" } <<< 401 錯誤一: { "status": 401, "error": "AccessTokenNoExist", "message": "必須有 accessToken" } 錯誤二: { "status": 401, "error": "AccessTokenIsInvalid", "message": "無效的?accessToken" } 錯誤三: { "status": 401, "error": "AccessTokenHasExpired", "message": "accessToken 已過期" } <<< 403 錯誤一: { "status": 403, "error": "SecretIsInvalid", "message": "無效的 secret" } 錯誤二: { "status": 403, "error": "SecretHasDisabled", "message": "secret 已被禁用" } 錯誤三: { "status": 403, "error": "SecretError", "message": "secret 狀態異常" } 錯誤四: { "status": 403, "error": "LimitExceeded", "message": "已超出用量限制" } <<< 500 { "error":"Asr_Task_Not_Exist", "message:"語音轉換任務不存在,請檢查taskId是否正確" } { "error":"Asr_Task_No_Right", "message:"沒有權限訪問語音轉換任務" } ~~~ # ##### C#訪問示例代碼: ~~~CSharp var client = new RestClient("http://gateway.api.yun2win.com/api/lasr/long/a45D16UhKJ4xeSSO/result"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer a447bdDAUeKORvmt"); // 這里的a447bdDAUeKORvmt就是接口1取得的access_token request.AlwaysMultipartFormData = true; IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ~~~ # ##### Java訪問示例代碼: ~~~ java OkHttpClient client = new OkHttpClient().newBuilder() .build(); Request request = new Request.Builder() .url("http://gateway.api.yun2win.com/api/lasr/long/a45D16UhKJ4xeSSO/result") .method("GET", null) .addHeader("Authorization", "Bearer a447bdDAUeKORvmt") // 這里的a447bdDAUeKORvmt就是接口1取得的access_token .build(); Response response = client.newCall(request).execute(); ~~~ # #### Nodejs訪問示例代碼 ~~~javascript var unirest = require('unirest'); var req = unirest('GET', 'http://gateway.api.yun2win.com/api/lasr/long/a45D16UhKJ4xeSSO/result') .headers({ 'Authorization': 'Bearer a447bdDAUeKORvmt' // 這里的a447bdDAUeKORvmt就是接口1取得的access_token }) .end(function (res) { if (res.error) throw new Error(res.error); console.log(res.raw_body); }); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看