クールなオーディオ プレーヤーの作成に関する HTML5 グラフィック チュートリアル plug-in_html5 チュートリアルのスキル
上の写真は、このオーディオ プレーヤーの UI インターフェイス図で、曲のプレイリストも非表示になっています。プレーヤーの UI 全体は、背景のポートレートと曲のスター評価を除いて、CSS とフォントフェイスで描画されます。これらはすべて CSS とフォントフェイスで描画されます。唯一難しそうなのは、CD とフォントフェイスの制作です。曲内 CD とディスク プレーヤーの両方には、再生中にアニメーション化されたインタラクティブな効果があります。これについては、後のセクションで説明します。プレーヤーで CD をクリックしてプレイリストを開きます~
このチュートリアルは主に Html5 の新しい
主な機能:1. 再生、一時停止、前の曲、次の曲、音量の増減
2. CD をクリックしてプレイリストを開いたり閉じたりします
3. ローカルの音楽ファイルをプレーヤーにドラッグして再生できます
HTML 構造
オーディオタグ
上記の構造では、HTML5 の新しい audio タグが見つかります。これは、名前が示すように、プレーヤーのコントローラーです。controls 属性は、ブラウザーがオーディオの再生コントロールを提供することを指定します。 Chrome ブラウザと同様に、この属性をの下の audio タグに設定すると、コードは次のようになります:
ただし、ブラウザごとにオーディオ タグのレンダリング効果が異なるため、この単純な方法はクロスブラウザでの使用には適しておらず、ブラウザのデフォルトのプレーヤー コントロールで提供される機能は非常に限られています。 。したがって、通常はこの属性を設定しないことでブラウザのデフォルトの再生コントロールを非表示にし、追加のタグとスタイルを手動で追加してプレーヤーの UI インターフェイスをカスタマイズします。
再生コントロールプレーヤーの UI インターフェイスが描画された後、最初に行う必要があるのは、3 つの主要なコントロール ボタン (再生、前の曲、次の曲) に対応するイベント リスナーを追加することです。
var myAudio = $(" #myAudio audio ")[0];
var $sourceList = $("#myAudio source");
var currentSrcIndex = 0;
var currentSr = "";
$(".btn_play" ).click (function(){
if (myAudio.paused) {
myAudio.play();
} else {
myAudio.pause();
}
} );
$(".btn_next").click(function(){
currentSrcIndex > $sourceList.length - 1 && (currentSrcIndex = 0);
currentSrc = $("#myAudio source" ).eq (currentSrcIndex).prop("src");
myAudio.src = currentSrc;
myAudio.play();
});
$(".btn_previous").click (function( ){
--currentSrcIndex currentSrc = $("#myAudio source").eq(currentSrcIndex).prop("src");
myAudio.src = currentSrc;
myAudio.play();
});
上記のボタン クリック イベント モニタリングでは、元の audio 要素の play() メソッドとpause() メソッドを呼び出して、オーディオの再生と一時停止を制御します。さらに、audio 要素は、現在再生中のファイルのファイル ソースを表す currentSrc 属性を提供します。この属性を設定することで、現在再生中のソング トラックを制御します。
音量調節次に、音量バーの両側にある 2 つの小さなスピーカーにイベント モニタリングを追加して、左右の 2 つの小さなスピーカーをクリックすると、現在の再生音量を増減できるようにします。プレーヤーの音量を設定するには、audio 要素で提供される volume 属性を呼び出すことができます。音量の最大値は 1 で、最小値は 0 です。ここでは、スピーカーをクリックするたびに音量を 0.1 ずつ増減して音量を制御します。もちろん、他の値を使用することもできます。ただし、JavaScript 言語では小数点以下を正確に制御できないことに注意してください。そのため、音量が 0.1 ずつ減少するたびに、実際に減少する音量は 0.1 よりわずかに大きくなり、音量減少ボタンを 9 回クリックすると 0.09 が残ります。 xxxx のボリュームを連続して再生すると、プレーヤーをミュートできない理由がわかります。 。 。もちろん、この問題は簡単に修正できます (以下を参照)。ちょっと思い出してください。
$(".volume_control .減少") .click(function() {
var volume = myAudio.volume - 0.1;
volume myAudio.changeVolumeTo(volume);
} );
$(".volume_control .increase").click(function() {
var volume = myAudio.volume 0.1;
volume > 1 && (volume = 1);
myAudio .changeVolumeTo( volume);
});
さらに、スライダーを使用するか、音量バーの特定の位置をクリックして音量を制御する機能も実装する必要があります。上記の基礎があれば簡単に完成します。まず、ボリューム バーの特定の位置をクリックしてボリュームを制御する機能を見てみましょう。ボリューム バーの特定の位置をクリックし、ボリューム バーの開始点からその位置までの長さの値を計算します。この値をボリューム バーの全長で割ります (ここでは 100)。パーセンテージ値を取得し、そのパーセンテージ値に最大ボリューム値 1 を乗算して、ジャンプ先のボリューム値を取得し、それを割り当てます。音量。スライダーを使用して音量を制御する方法もこれに似ています。主なことは、音量バー上のスライダーの位置の値を計算する方法を知ることです。ここでは詳しく説明しませんが、ご質問がございましたら、以下にメッセージを残してください。
$(".volume_control .base_bar").mousedown(function(ev){
var posX = ev.clientX;
var targetLeft = $(this).offset().left;
var volume = (posX - targetLeft)/100;
volume > 1 && (volume = 1);
volume myAudio.changeVolumeTo(volume );
});
$(".volume_control .slider").mousedown(starDrag = function(ev) {
ev.preventDefault();
var origLeft = $(this). Position().left; /*スライダーの初期位置*/
var origX = ev.clientX; /*マウスの初期位置*/
var target = this;
var progress_bar = $(". volume_control .progress_bar")[0];
$(document).mousemove(doDrag = function(ev){
ev.preventDefault();
var moveX = ev.clientX - origX; /*計算Mouse の移動距離*/
var curLeft = origLeft moveX /*マウスの移動距離をスライダーの移動距離として使用します*/
(curLeft (curLeft > 93) && (curLeft = 93);
target.style.left = curLeft "px";
progress_bar.style.width = curLeft 7 "%";
myAudio .changeVolumeTo(( curLeft 7)/100);
});
$(document).mouseup(stopDrag = function(){
$(document).unbind("mousemove",doDrag);
$ (document).unbind("mouseup",stopDrag);
});
});
時間制御
これで、プレーヤーは基本的に動作するようになりましたが、オーディオの一部を特定の時点に直接スキップできるようにしたいと考えています。では、どうすればそれを達成できるのでしょうか? ? !標準を策定する委員会のメンバーもバカではないので、このような一般的に使用される関数を省略することはできません。すぐに API を参照すると、audio 要素に、非常に簡潔でわかりやすい名前が付けられていることがわかります。 (実際、ほとんどの属性は簡単に理解できます)。この属性を設定すると、現在の再生時点を設定できます。
ここでは、オーディオの別の属性である継続時間も使用する必要があります。これは、現在再生中のファイルの合計時間の長さを指します。したがって、ボリューム制御の実装に応じて、次のようにすることができます:
1. プログレスバーの特定の位置をクリックし、プログレスバーの始点からその位置までの長さの、プログレスバーの全長に対するパーセンテージ値を計算します (たとえば、中央の位置をクリックします)プログレス バーの開始点からその位置までの長さは、プログレス バーの合計の長さの 50% を占めます) となり、パーセンテージとして記録されます。
2. 次に、ファイルの合計期間にパーセンテージを乗算して、ジャンプ先の時点の値を取得し、その値を currentTime に代入して、実装する関数を完成させます。
$(".time_line . base_bar") .mousedown(function(ev){
var posX = ev.clientX;
var targetLeft = $(this).offset().left;
varpercent = (posX - targetLeft)/ 140 * 100 ;
myAudio.currentTime = myAudio.duration *percentage / 100;
});
この時点で、プレーヤーは基本的に形を整えています。重要ではない UI インタラクションの実装がいくつか残っています (実際、それらが私にとって最も重要です、笑)。興味がある場合は、ソース コードを確認してください。質問がある場合は、以下にコメントを残すことができます。私たちがコミュニケーションをとり、もっと学ぶことができれば幸いです。

H5は、さまざまな新機能と機能を提供し、フロントエンド開発の機能を大幅に向上させます。 1.マルチメディアサポート:メディアを埋め込んで要素を埋め込み、プラグインは必要ありません。 2。キャンバス:要素を使用して、2Dグラフィックとアニメーションを動的にレンダリングします。 3。ローカルストレージ:ユーザーエクスペリエンスを改善するために、ローカルストレージとセッションストレージを介して永続的なデータストレージを実装します。

H5とHTML5は異なる概念です。HTML5は、新しい要素とAPIを含むHTMLのバージョンです。 H5は、HTML5に基づくモバイルアプリケーション開発フレームワークです。 HTML5はブラウザを介してコードを解析およびレンダリングしますが、H5アプリケーションはコンテナを実行し、JavaScriptを介してネイティブコードと対話する必要があります。

HTML5の重要な要素には、最新のWebページの構築に使用される、、,,,,などが含まれます。 1.ヘッドコンテンツを定義します。2。リンクをナビゲートするために使用されます。3。独立した記事のコンテンツを表します。4。ページコンテンツを整理します。5。サイドバーコンテンツを表示します。

HTML5とHTML5の略語であるHTML5とH5の間に違いはありません。 1.HTML5はHTMLの5番目のバージョンであり、Webページのマルチメディア関数とインタラクティブ機能を強化します。 2.H5は、HTML5ベースのモバイルWebページまたはアプリケーションを参照するためによく使用され、さまざまなモバイルデバイスに適しています。

HTML5は、W3Cによって標準化されたHyperText Markup言語の最新バージョンです。 HTML5は、新しいセマンティックタグ、マルチメディアサポート、フォームの強化、Web構造の改善、ユーザーエクスペリエンス、SEO効果を導入します。 HTML5は、Webページ構造をより明確にし、SEO効果をより良くするために、、、、、、などの新しいセマンティックタグを導入します。 HTML5はマルチメディア要素をサポートしており、サードパーティのプラグインは不要で、ユーザーエクスペリエンスと読み込み速度が向上します。 HTML5はフォーム関数を強化し、ユーザーエクスペリエンスを向上させ、フォーム検証効率を向上させるなどの新しい入力タイプを導入します。

クリーンで効率的なHTML5コードを書き込む方法は?答えは、タグのセマンティック、構造化されたコード、パフォーマンスの最適化、一般的な間違いを回避することにより、一般的な間違いを避けることです。 1.コードの読みやすさとSEO効果を改善するには、セマンティックタグなどを使用します。 2。適切なインデントとコメントを使用して、コードを構造化して読みやすいままにします。 3.不必要なタグを減らし、CDNを使用してコードを圧縮することにより、パフォーマンスを最適化します。 4.タグが閉じていないなどの一般的な間違いを避け、コードの有効性を確認してください。

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開発を簡素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費を削減します。

HTML5コードは、タグ、要素、属性で構成されています。1。タグはコンテンツタイプを定義し、などの角度ブラケットに囲まれています。 2。要素は、startタグ、内容、および内容などのエンドタグで構成されています。 3。属性は、開始タグのキー値のペアを定義し、ような関数を強化します。これらは、Web構造を構築するための基本ユニットです。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

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

ホットトピック









