WeChat jssdk 録音機能開発記録
0. 要件説明
ユーザーはボタンを長押しすると録音を開始し、放すと録音を停止し、録音をアップロードして保存します。長い間。
1. 開発プロセス
通常の表示ページを開発する場合は、通常のページを開発する場合と変わりませんが、ここでデバイス(携帯電話)の録音機能を使用したい場合は、呼び出しを行う必要があります。 WeChat アプリの記録インターフェイスには WeChat jssdk を使用します。
WeChat jssdkを使用する: WeChat JS-SDKドキュメント
WeChat 登録イベントは wx.ready に配置する必要があります。
まず、WeChatパブリックプラットフォームにログインし、「公式アカウント設定」の「機能設定」に入り、「JSインターフェースセキュリティドメイン名」を入力します。 [WeChat Publicアカウントが必要] JS JSファイルのインストールインダイム許可インターフェイスの検証構成READYインターフェイスを介した成功した検証今回必要なコア機能: 録画と保存
//假设已引入微信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 再生記録インターフェイスのイベント コールバック関数は無効です
デフォルトのイベントを防ぐ
イベントをタッチするには、必ずevent.preventDefault();を追加してください
WeChatは静的リソースを3日間保存する方法
それらを保存します。たとえば、Qiniu は、amr 形式を mp3 やその他の形式に自由に変換するのにも役立ちます。
WeChat サーバーのデフォルトのリソース形式は amr です。この形式は Android マシンでは audio タグを使用して再生できますが、ios マシンでは audio タグを使用して再生できません。WeChat 記録機能の承認によって引き起こされるインタラクションの問題WeChat jssdk インターフェイスを使用して記録する場合、同じドメイン内で一度承認するだけで済みます。つまり、初めて記録を使用するときに、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) <p></p>3. 問題 <blockquote> <p>3.バグ: iOS デバイスで、WeChat 録音機能を使用してからオーディオ タグを再生すると、音量が非常に小さくなります。 </p>ただし、WeChat インターフェイス (wx.playVoice) を使用して録音を再生するときの音量は正常で、その後、オーディオ タグの音量が増加します (ただし、音量は依然として非常に小さいままです)。 </blockquote><p>WeChat jssdk 記録機能開発記録に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。 </p>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ホットトピック









