この記事では主にWeChatアプレット開発のマイクアニメーション、つまりフレームアニメーション、増幅、フェードアウト関連の情報を紹介します。非常に良い基準値を持っています。エディターで見てみましょう
ボイスレコーダーを作りたいのですが、最初のステップがマイクアニメーションで止まっています
まずgifをアップロードしてください
①のアニメーション。上記GIFのサウンドウェーブは半完成品です。WeChatアプレットの開発ドキュメントを長時間探しましたが、setInterval()を使用したループモードのパラメータ設定が見つかりませんでした。 WeChat ドキュメントのアニメーションの一番下にあります このポットは捨てられますか?
ps: アニメーションのループを理解できる生徒がいたらお願いします。教えてください
② マイクにはフレームアニメーションがあります。非主流のメソッドでしか対応できません。
画像の表示と非表示を制御するために、js で定義された値が画像に対応する数値と等しいかどうかを判断します。CSS メソッドにはもっと良い解決策があるはずです。詳細に進みます
コードをアップロードします:1.index.wxml
<!--index.wxml--> <view class="voice-style" bindtap="startSpeak"> <image class="bg-style" src="../../images/voice_icon_speaking_bg_normal.png" ></image> <image class="bg-style" animation="{{spreakingAnimation}}" src="../../images/voice_video_loading_0.png"></image> <image class="bg-style" animation="{{spreakingAnimation_1}}" src="../../images/voice_video_loading_0.png"></image> <image class="bg-style" animation="{{spreakingAnimation_2}}" src="../../images/voice_video_loading_0.png"></image> <image class="sound-style" src="../../images/voice_icon_speech_sound_1.png" ></image> <image wx:if="{{j==2}}" class="sound-style" src="../../images/voice_icon_speech_sound_2.png" ></image> <image wx:if="{{j==3}}" class="sound-style" src="../../images/voice_icon_speech_sound_3.png" ></image> <image wx:if="{{j==4}}" class="sound-style" src="../../images/voice_icon_speech_sound_4.png" ></image> <image wx:if="{{j==5}}"class="sound-style" src="../../images/voice_icon_speech_sound_5.png" ></image> </view>
2.index.js
//index.js //获取应用实例 var app = getApp() Page({ data: { spreakingAnimation: {},//放大动画 j: 1,//帧动画初始图片 isSpeaking: false,//是否在录音状态 }, onLoad: function () { }, //点击开始说话 startSpeak: function () { var _this = this; if (!this.data.isSpeaking) { speaking.call(this); this.setData({ isSpeaking: true }) } else { //去除帧动画循环 clearInterval(this.timer) this.setData({ isSpeaking: false, j: 1 }) } }, }) function speaking() { //话筒帧动画 var i = 1; this.timer = setInterval(function () { i++; i = i % 5; _this.setData({ j: i }) return }, 200); //波纹放大,淡出动画 var _this = this; var animation = wx.createAnimation({ duration: 1000 }) animation.opacity(0).scale(3, 3).step();//修改透明度,放大 this.setData({ spreakingAnimation: animation.export() }) setTimeout(function(){ //波纹放大,淡出动画 var animation = wx.createAnimation({ duration: 1000 }) animation.opacity(0).scale(3, 3).step();//修改透明度,放大 _this.setData({ spreakingAnimation_1: animation.export() }) },250) setTimeout(function(){ //波纹放大,淡出动画 var animation = wx.createAnimation({ duration: 1000 }) animation.opacity(0).scale(3, 3).step();//修改透明度,放大 _this.setData({ spreakingAnimation_2: animation.export() }) },500) }
3.index.wxss
/**index.wxss**/ .voice-style { margin-top: 400px; display: flex; position: relative; flex-direction: column; align-items: center; } .bg-style { position: absolute; width: 100px; height: 100px; } .sound-style{ position: absolute; width: 37.6px; height: 60px; margin-top: 20px; }
以上がWeChat アプレットの開発と、増幅とフェードアウト効果を実現するマイク アニメーションの制作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

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

ホットトピック









