目次
WeChat jssdk 記録機能の開発記録
0. 要件の説明
1.開発プロセス
WeChat jssdkを使用する: WeChat JS-SDKドキュメント

WeChatが開発した録音機能

May 09, 2017 am 10:04 AM

WeChat jssdk 記録機能の開発記録

タグ (スペース区切り): フロントエンド


0. 要件の説明

WeChat ブラウザーで開いたページ上にボタンを作成し、ユーザーがボタンを押し続けると記録を開始します。放すと録音を停止し、録音をアップロードして長期間保存します。


1.開発プロセス

通常の表示ページを開発する場合は、通常のページを開発する場合と変わりませんが、ここでデバイス(携帯電話)の記録機能を使用するには、 WeChat アプリの記録インターフェイスには、WeChat jssdk を使用する必要があります。

WeChat jssdkを使用する: WeChat JS-SDKドキュメント

  • まず、WeChatパブリックプラットフォームにログインし、「公式アカウント設定」の「機能設定」に入り、「JSインターフェースセキュリティドメイン名」を入力します。 [wechatパブリックアカウントが必要]

  • introduce jsfiles

  • Indject許可検証構成構成interface

  • プロセス対応インターフェイスによる成功した検証今回必要なコア機能: 録画と保存

    //假设已引入微信jssdk。【支持使用 AMD/CMD 标准模块加载方法加载】
    wx.config({
        debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: '', // 必填,公众号的唯一标识
        timestamp: , // 必填,生成签名的时间戳
        nonceStr: '', // 必填,生成签名的随机串
        signature: '',// 必填,签名,见附录1
        jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });
    
    wx.ready(function(){
    
        // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
    });
    
    wx.error(function(res){
    
        // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
    
    });
    ログイン後にコピー
  • 2. 小さなトラブル

    ユーザーの誤使用 (繰り返しクリック、誤ったタッチなど) による無効な録画を防ぐため。
300ミリ秒未満の場合は録音しません


ユーザーの長押しによってWeChatブラウザのデフォルトの「コピーダイアログボックス」がポップアップ表示されないようにします。

CSSを使用してボタンuser-select:none;を設定します

WeChat再生記録インターフェースイベント

コールバック関数
無効

WeChat登録イベントはwx.readyに配置する必要があります。

デフォルトイベントを防ぐ

イベントをタッチするには、event.preventDefault();を忘れずに追加してください

WeChatストレージ

静的
リソース時間は3日間、長期保存する方法

自分のサーバーに保存するか、それを使用してください

Qiniu などの他のリソースも、amr 形式を mp3 やその他の形式に自由に変換するのに役立ちます。

WeChatサーバーのデフォルトのリソース形式はamrです。この形式はAndroidマシンではaudioタグを使用して再生できますが、iosマシンではaudioタグを使用して再生できません。

WeChat 記録機能の承認によって引き起こされるインタラクションの問題


WeChat jssdk インターフェイスを使用して記録する場合、同じドメイン内で 1 回だけ承認する必要があります。つまり、初めて記録を使用するとき、WeChat録音自体は許可を求めるダイアログ ボックスを表示し、ユーザーが [許可] をクリックした後、録音を再度使用するときに許可は求められません。

初めて録音を長押しした後、ユーザーは録音を許可していないため、WeChat はこのページで WeChat 録音機能の使用を承認するようユーザーに求めます。このとき、ユーザーは録音ボタンを放します。ユーザーが許可すると、実際に録音が開始されます。この時点では、ユーザーはすでに録音ボタンを放しているため、録音ボタンにはタッチエンド イベントは発生せず、録音は続行されます。
解決策: localStorage を使用して、ユーザーが承認したかどうかを記録し、これを使用して、最初にページに入ったときにユーザーの承認をトリガーするために自動的に記録する必要があるかどうかを判断します

//假设全局变量已经在外部定义
//按下开始录音
$('#talk_btn').on('touchstart', function(event){
    event.preventDefault();
    START = new Date().getTime();

    recordTimer = setTimeout(function(){
        wx.startRecord({
            success: function(){
                localStorage.rainAllowRecord = 'true';
            },
            cancel: function () {
                alert('用户拒绝授权录音');
            }
        });
    },300);
});
//松手结束录音
$('#talk_btn').on('touchend', function(event){
    event.preventDefault();
    END = new Date().getTime();
    
    if((END - START) < 300){
        END = 0;
        START = 0;
        //小于300ms,不录音
        clearTimeout(recordTimer);
    }else{
        wx.stopRecord({
          success: function (res) {
            voice.localId = res.localId;
            uploadVoice();
          },
          fail: function (res) {
            alert(JSON.stringify(res));
          }
        });
    }
});

//上传录音
function uploadVoice(){
    //调用微信的上传录音接口把本地录音先上传到微信的服务器
    //不过,微信只保留3天,而我们需要长期保存,我们需要把资源从微信服务器下载到自己的服务器
    wx.uploadVoice({
        localId: voice.localId, // 需要上传的音频的本地ID,由stopRecord接口获得
        isShowProgressTips: 1, // 默认为1,显示进度提示
        success: function (res) {
            //把录音在微信服务器上的id(res.serverId)发送到自己的服务器供下载。
            $.ajax({
                url: &#39;后端处理上传录音的接口&#39;,
                type: &#39;post&#39;,
                data: JSON.stringify(res),
                dataType: "json",
                success: function (data) {
                    alert(&#39;文件已经保存到七牛的服务器&#39;);//这回,我使用七牛存储
                },
                error: function (xhr, errorType, error) {
                    console.log(error);
                }
            });
        }
    });
}

//注册微信播放录音结束事件【一定要放在wx.ready函数内】
wx.onVoicePlayEnd({
    success: function (res) {
        stopWave();
    }
});
ログイン後にコピー

3. 問題 3.バグ: iOS デバイスで、WeChat 録音機能を使用してからオーディオ タグを再生すると、音量が非常に小さくなります。 ただし、WeChat インターフェイス (wx.playVoice) を使用して録音を再生するときの音量は正常で、その後、オーディオ タグの音量が増加します (ただし、音量は依然として非常に小さいままです)。

この問題は、関連する WeChat 技術担当者に伝えられています。

一時的な解決策は次のとおりです。録音したばかりのオーディオの場合は、wx.playVoice を使用して再生します。それ以外の場合は、オーディオ再生サーバー リソースを使用します。その理由は、録音したばかりの音声が確実にローカルに存在するかどうかわからないからです。

【関連推奨事項】

1.

WeChatパブリックアカウントプラットフォームのソースコードのダウンロード

2.

Alizi注文システムのソースコードの無料ダウンロード

以上がWeChatが開発した録音機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Apple のどこで録音機能を見つけることができますか? iPhone のどこで録音機能をオンにできますか? Apple のどこで録音機能を見つけることができますか? iPhone のどこで録音機能をオンにできますか? Feb 22, 2024 pm 02:52 PM

ボイスメモを入力したら、赤い丸いアイコンから録音できます。チュートリアル 適用モデル: iPhone13 システム: iOS15.3 分析 1 まず電話を開き、ボイスメモを見つけてクリックします。 2録画ページに入ったら、赤い円形のアイコンをクリックして録画を開始します。 3赤い円形のアイコンをもう一度クリックして、録音を一時停止します。 4最後に「完了」をクリックして保存します。補足: Apple 携帯電話の録音ファイルはどこにありますか? 1. まず携帯電話を開き、画面をスライドしてネガティブ画面に入ります。 2上部の検索バーにボイスメモを入力後、検索結果をクリックします。 3録画ページに入ると、すべての録画ファイルを表示できます。概要/注意事項 録音一時停止中に録音部分を再生することができます。

Apple携帯電話の録音機能はどこにありますか? Apple携帯電話の録音機能はどこにありますか? Mar 08, 2024 pm 02:00 PM

ユーザーは Apple 電話で録音機能を使用したいと考えていますが、録音をオンにする方法がわかりません。実際には非常に簡単です。コントロール センターに入るとボイス メモ ボタンが見つかり、それをクリックすると電話の録音が開始されます関数。 Apple の携帯電話の録音機能はどこにありますか? 回答: コントロール センターで携帯電話の録音をオンにすることができます 1. ユーザーが Apple 携帯電話で携帯電話の録音を実行したい場合は、音声をオンにする必要があります携帯電話のメモ機能。 2. ボイスメモを開く最も速い方法は、コントロールセンターで開くことです。クリックして直接使用します。 3. デスクトップ上のシステムに付属するソフトウェア ライブラリでボイス メモを見つけ、クリックして使用することもできます。 4. ボイスメモ機能はアンインストール可能で、ユーザーが誤って関連ソフトウェアをアンインストールしてしまった場合でも、App Storeから再ダウンロードすることができます。 5. もし

Apple 携帯電話の録音機能をオンにする方法_Apple 携帯電話の録音機能をオンにする方法 Apple 携帯電話の録音機能をオンにする方法_Apple 携帯電話の録音機能をオンにする方法 Mar 23, 2024 pm 07:10 PM

1. まず、iPhone デスクトップでボイスメモを見つけて開き、すべての録音を選択します。 2. 次に、赤いボタンをクリックしてボイスメモの録音を開始し、もう一度赤いボタンをクリックして録音を一時停止します。

PHP WeChat 開発: メッセージの暗号化と復号化を実装する方法 PHP WeChat 開発: メッセージの暗号化と復号化を実装する方法 May 13, 2023 am 11:40 AM

PHP は、Web 開発およびサーバーサイド プログラミング、特に WeChat 開発で広く使用されているオープン ソースのスクリプト言語です。現在、ますます多くの企業や開発者が WeChat 開発に PHP を使用し始めています。これは、PHP が本当に学びやすく、使いやすい開発言語となっているためです。 WeChat の開発では、メッセージの暗号化と復号化はデータのセキュリティに関わるため、非常に重要な問題となります。暗号化と復号化の方法を持たないメッセージの場合、ハッカーは簡単にデータを入手でき、ユーザーに脅威を与える可能性があります。

PHP を使用して WeChat マス メッセージング ツールを開発する PHP を使用して WeChat マス メッセージング ツールを開発する May 13, 2023 pm 05:00 PM

WeChat の人気に伴い、マーケティング ツールとして WeChat を使用し始める企業が増えています。 WeChat グループ メッセージング機能は、企業が WeChat マーケティングを行うための重要な手段の 1 つです。ただし、手動送信のみに頼ると、マーケターにとって非常に時間と労力がかかる作業になります。したがって、WeChat マス メッセージング ツールを開発することが特に重要です。この記事では、PHP を使用して WeChat マス メッセージング ツールを開発する方法を紹介します。 1. 準備作業 WeChat マス メッセージング ツールを開発するには、次の技術点を習得する必要があります。 PHP WeChat パブリック プラットフォーム開発の基礎知識 開発ツール: Sub

PHP WeChat 開発: ユーザータグ管理を実装する方法 PHP WeChat 開発: ユーザータグ管理を実装する方法 May 13, 2023 pm 04:31 PM

WeChat パブリック アカウントの開発において、ユーザー タグ管理は非常に重要な機能であり、開発者がユーザーをよりよく理解し、管理できるようになります。この記事では、PHPを使用してWeChatのユーザータグ管理機能を実装する方法を紹介します。 1. WeChat ユーザーの openid を取得する WeChat ユーザータグ管理機能を使用する前に、まずユーザーの openid を取得する必要があります。 WeChat パブリック アカウントの開発では、ユーザーの承認を通じて openid を取得するのが一般的です。ユーザー認証が完了したら、次のコードを通じてユーザーを取得できます。

PHP WeChat 開発: グループ メッセージ送信レコードの実装方法 PHP WeChat 開発: グループ メッセージ送信レコードの実装方法 May 13, 2023 pm 04:31 PM

WeChat が人々の生活においてますます重要なコミュニケーション ツールになるにつれ、その機敏なメッセージング機能はすぐに多くの企業や個人に支持されるようになりました。企業にとって、WeChat をマーケティング プラットフォームとして開発することがトレンドになっており、WeChat 開発の重要性が徐々に顕著になってきています。その中でも、グループ送信機能はさらに広く使用されているため、PHP プログラマとしてグループ メッセージ送信レコードを実装するにはどうすればよいでしょうか?以下に簡単に紹介します。 1. WeChat パブリック アカウントに関する開発知識を理解する グループ メッセージ送信レコードの実装方法を理解する前に、

PHP WeChat 開発: カスタマー サービスのチャット ウィンドウ管理を実装する方法 PHP WeChat 開発: カスタマー サービスのチャット ウィンドウ管理を実装する方法 May 13, 2023 pm 05:51 PM

WeChat は現在、世界最大のユーザーベースを持つソーシャル プラットフォームの 1 つであり、モバイル インターネットの普及に伴い、ますます多くの企業が WeChat マーケティングの重要性を認識し始めています。 WeChat マーケティングを実施する場合、顧客サービスは重要な部分です。カスタマー サービスのチャット ウィンドウをより適切に管理するために、WeChat 開発に PHP 言語を使用できます。 1. PHP WeChat 開発の概要 PHP は、Web 開発の分野で広く使用されているオープン ソースのサーバー側スクリプト言語です。 WeChat パブリック プラットフォームが提供する開発インターフェイスと組み合わせると、PHP 言語を使用して WeChat を実行できます。

See all articles