微信公眾號-音頻接口(上傳、下載、辨音)


音頻相關接口,其中需要注意的是:上傳語音有效期3天,可用微信多媒體接口下載語音到自己的服務器,此處獲得的 serverId 即 media_id,參考文檔 .目前多媒體文件下載接口的頻率限制為10000次/天,如需要調高頻率,請登錄微信公眾平台,在開發 - 接口權限的列表中,申請提高臨時上限。

            <div class="content">
                <!-- 音頻接口 -->
                <!-- 1.開始錄音 -->
                <input type="button" name="" id="startRecord" value="開始錄音" />
                <!-- 2.播放錄音接口 -->
                <input type="button" name="" id="stopRecord" value="播放錄音" />
                <!-- 3.暫停播放接口 -->
                <input type="button" name="" id="pauseVoice" value="暫停播放" />
                <!-- 5.上傳語音接口 -->
                <input type="button" name="" id="uploadVoice" value="上傳語音" />
                <!-- 6.下載語音接口 -->
                <input type="button" name="" id="downloadVoice" value="下載語音" />
                <!-- 7.識別音頻並返回識別結果接口 -->
                <input type="button" name="" id="translateVoice" value="聽音辨字" />
                <div class="translateVoice" style="border: 1px solid #EBEBEB;padding: 20px;">
                    
                </div>
            </div>

相關js代碼

globalObj.post({
    url: window.location.href,
}, '/apis/Wxshare/share_wx', function(res) {
    // alert(JSON.stringify(res))
    var signPackage = res.data.signPackage
    wx.config({
        debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
        appId: signPackage.appId, // 必填,公眾號的唯一標識
        timestamp: signPackage.timestamp, // 必填,生成簽名的時間戳
        nonceStr: signPackage.nonceStr, // 必填,生成簽名的隨機串
        signature: signPackage.signature, // 必填,簽名,見附錄1
        jsApiList: ['startRecord','stopRecord','playVoice','translateVoice',
        'onVoiceRecordEnd','pauseVoice','onVoicePlayEnd','uploadVoice','downloadVoice'], // 所有要調用的 API 都要加到這個列表中
    });
    wx.ready(function() {
        var serverId=''//服務器音頻ID
        var startflag=true
        $('#startRecord').on('tap',function(){
            if(startflag){
                <!-- 1.開始錄音 -->
                $('[name=startRecord]').val('停止錄音')
                wx.startRecord();
                startflag = false
                <!-- 4.監聽錄音自動停止接口 -->
                wx.onVoiceRecordEnd({
                    // 錄音時間超過一分鍾沒有停止的時候會執行 complete 回調
                    complete: function (res) {
                        var localId = res.localId; 
                        $('#stopRecord').attr('data-localId',localId)
                        startflag = true
                    }
                });
            }else{
                <!-- 2.停止錄音接口 -->
                wx.stopRecord({
                    success: function (res) {
                        var localId = res.localId;
                        // 把音頻的本地ID綁定到播放音頻的按鈕上
                        $('#stopRecord').attr('data-localId',localId)
                        $('[name=startRecord]').val('開始錄音')
                    }
                });
            }
        })
        $('#stopRecord').on('tap',function(){
            <!-- 3.播放錄音接口 -->
            wx.playVoice({
                localId: $('#stopRecord').attr('data-localId'), // 需要播放的音頻的本地ID,由stopRecord接口獲得
                success:function(){
                    // 監聽語音播放完畢接口
                    wx.onVoicePlayEnd({
                        success: function (res) {
                            var localId = res.localId; // 返回音頻的本地ID
                            alert('語音播放完畢')
                        }
                    });
                }
            });
        })
        $('#pauseVoice').on('tap',function(){
            <!-- 3.播放錄音接口 -->
            wx.pauseVoice({
                localId: $('#stopRecord').attr('data-localId') // 需要播放的音頻的本地ID,由stopRecord接口獲得
            });
        })
        $('#uploadVoice').on('tap',function(){
            <!-- 5.上傳語音 -->
            /**
             * 上傳語音有效期3天,可用微信多媒體接口下載語音到自己的服務器,此處獲得的 serverId 即 media_id
             */
            wx.uploadVoice({
                localId: $('#stopRecord').attr('data-localId'), // 需要播放的音頻的本地ID,由stopRecord接口獲得
                isShowProgressTips: 1, // 默認為1,顯示進度提示
                success: function (res) {
                    serverId = res.serverId; // 返回音頻的服務器端ID
                    alert('上傳成功')
                }
            });
        })
        $('#downloadVoice').on('tap',function(){
            <!-- 6.下載語音 -->
            wx.downloadVoice({
                serverId: serverId, // 需要播放的音頻的本地ID,由stopRecord接口獲得
                isShowProgressTips: 1, // 默認為1,顯示進度提示
                success: function (res) {
                      var localId = res.localId; // 返回音頻的本地ID
                      $('#stopRecord').attr('data-localId',localId)
                }
            });
        })
        $('#translateVoice').on('tap',function(){
            <!-- 6.下載語音 -->
            wx.translateVoice({
                localId: $('#stopRecord').attr('data-localId'), // 需要播放的音頻的本地ID,由stopRecord接口獲得
                isShowProgressTips: 1, // 默認為1,顯示進度提示
                success: function (res) {
                    $('.translateVoice').html(res.translateResult)
                    
                }
            });
        })
    });
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM