ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5を使用したWeChat jssdkの音声録音と再生の実装例

HTML5を使用したWeChat jssdkの音声録音と再生の実装例

小云云
小云云オリジナル
2018-03-17 09:15:258489ブラウズ

HTML5 WeChat jssdk で音声を録音および再生する方法 注意が必要な2つの問題 1 1 秒以内の録音はカウントされないと判断する必要があります。 ps: 録音するには短すぎます。 2 録音が 1 分を超えると、録音が​​突然消えてしまうことがあるので、wx.onVoiceRecordEnd を書き込む必要があります。これは 1 分後に自動的に開始され、アップロード データが書き込まれます。

前端代码如下
 $('.luyin').on('touchstart',function () {
        wx.startRecord({
            success: function(){
                START = new Date().getTime();
                wx.onVoiceRecordEnd({
                    // 录音时间超过一分钟没有停止的时候会执行 complete 回调
                    complete: function (res) {
                        alert('最多只能录制一分钟');
                        var localId = res.localId;
                        uploadluyin(localId,60000);
                    }
                });
            },
            cancel: function () {
                alert('用户拒绝授权录音');
                return false;
            }
        });

    })
    $('.luyin').on('touchend',function () {
        END = new Date().getTime();
        //录音时间
        luyintime=END - START;
        if(luyintime < 2000){
            END = 0;
            START = 0;
            wx.stopRecord({});
            alert(&#39;录音时间不能少于2秒&#39;);
            return false;
            //小于300ms,不录音
        }else {


            wx.stopRecord({
                success: function (res) {
                    localId = res.localId;

                    uploadluyin(localId,luyintime);

                }
            });
        }
    })
    
    function uploadluyin(localId,luyintime) {
        wx.uploadVoice({
            localId: localId, // 需要上传的音频的本地ID,由stopRecord接口获得
            isShowProgressTips: 1, // 默认为1,显示进度提示
            success: function (res) {
                var serverId = res.serverId; // 返回音频的服务器端ID
                console.log(serverId);

                $.post("/home/xishanluyin/scyuyin", {
                            "serverId": serverId,
                            "luyintime": luyintime
                        },
                        function (data) {
                            if (data.success == 1) {
                                alert(&#39;录音成功&#39;);
                            } else {
                                alert(data.msg);
                            }
                        }, "json");
            }
        })
    }

バックエンドコードのコアコードは次のとおりです

$ft = copy("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$accessToken}&media_id={$imgServerId}",
			APP_PATH . "/../Public/{$project}/upload/{$imgServerId}.mp3");

それからBaofengyingyinで再生してください
関連する推奨事項:

フロントエンドWeChat共有jssdk構成:無効な署名署名エラーの解決策

thinkPHP WeChat共有インターフェースJSSDKサンプル説明

WeChat jssdk共有関数サンプルチュートリアル

以上がHTML5を使用したWeChat jssdkの音声録音と再生の実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。