


HTML5 menggunakan teg Audio untuk mencapai kesan kemahiran tutorial _html5 penyegerakan lirik
Perkara yang paling berkuasa tentang HTML5 ialah pemprosesan fail media Contohnya, main balik video boleh dicapai dengan menggunakan tag vedio yang mudah. Begitu juga, terdapat teg yang sepadan untuk memproses fail audio dalam HTML5, iaitu, teg audio
HTML5 telah dikeluarkan sekian lama, tetapi teg audio di dalamnya hanya digunakan sekali, dan sudah tentu ia hanya untuk masukkan teg ini ke halaman. Kali ini saya hanya mengambil kesempatan untuk membantu rakan membuat beberapa halaman dan berlatih menggunakan tag audio.
Mula-mula anda perlu memasukkan tag audio ke dalam halaman Ambil perhatian bahawa adalah lebih baik untuk tidak menetapkan gelung='gelung' di sini. jika gelung ditetapkan kepada Jika gelung, atribut yang ditamatkan akan sentiasa palsu.
autoplay='autoplay' menetapkan halaman untuk memainkan muzik secara automatik selepas memuatkan Atribut pramuat dan autoplay mempunyai kesan yang sama Jika atribut autoplay muncul dalam teg, atribut pramuat akan diabaikan.
controls='controls' menetapkan bar kawalan untuk memaparkan muzik.
- <audio src="muzik/Semalam Sekali Lagi .mp3" id="aud" automain="automain" kawalan="kawalan" pramuat="auto">
- Pelayar anda tidak menyokong atribut audio, sila tukar penyemak imbas untuk menyemak imbas.
- audio>
Selepas anda mempunyai tag ini, tahniah, halaman anda kini boleh memainkan muzik. Tetapi ini akan menjadikan halaman itu terlalu membosankan, jadi saya menambah beberapa perkara pada halaman itu supaya lirik boleh dipaparkan pada halaman secara serentak dan muzik yang akan dimainkan juga boleh dipilih. Jadi mula-mula untuk mencapai kesan ini, kami perlu memuat turun beberapa fail lirik dalam format lrc, dan kemudian anda perlu memformat muzik. Kerana fail muzik pada mulanya kelihatan seperti ini
Kita perlu memasukkan setiap lirik ke dalam tatasusunan dua digit Selepas memformat, lirik akan menjadi seperti ini
Dilampirkan di sini ialah kod untuk memformat lirik
- //Bahagian penyegerakan lirik
- fungsi parseLyric(teks) {
- //Pisahkan teks ke baris demi baris dan simpan dalam tatasusunan
- var garisan = teks.split('n'),
- //Ungkapan biasa yang digunakan untuk memadankan masa, hasil padanan adalah serupa dengan [xx:xx.xx]
- corak = /[d{2}:d{2}.d{2}]/g,
- //Array untuk menyimpan keputusan akhir
- hasil = [];
- //Alih keluar garisan tanpa masa
- sementara (!pattern.test(garisan[0])) {
- garisangarisan = lines.slice(1); };
- //Apabila menggunakan 'n' untuk menjana tatasusunan di atas, elemen terakhir dalam hasilnya ialah elemen kosong, yang akan dialih keluar di sini
- garisan[garisan.panjang - 1]
- .panjang === 0 && garisan.pop(); lines.forEach(function(v /*array element value*/ , i /*element index*/ , a /*array itself*/ ) {
- //Masa ekstrak [xx:xx.xx]
- var masa
- = v.padanan(corak), //Ekstrak lirik
- v
- nilai = v.ganti(corak, '' //Oleh kerana mungkin terdapat beberapa kali dalam satu baris, masa mungkin dalam bentuk [xx:xx.xx][xx:xx.xx][xx:xx.xx], yang perlu dipisahkan lagi
- masa.untukSetiap(fungsi(v1, i1, a1) {
- //Alih keluar kurungan segi empat sama dalam masa untuk mendapatkan xx:xx.xx
- var t
- = v1.slice(1, -1).split(':'); //Tolak hasil ke dalam tatasusunan terakhir
- result.push([parseInt(t[0], 10) * 60 parseFloat(t[1]), nilai]); });
- });
- //Akhir sekali, susun elemen dalam tatasusunan hasil mengikut masa supaya lirik boleh dipaparkan secara normal selepas menyimpan
- hasil.sort(fungsi(a, b) {
- kembali a[0] - b[0];
- });
- hasil pulangan;
- }
- Pada ketika ini, kami boleh menggunakan lirik setiap bahagian muzik dengan mudah. Kami memerlukan fungsi untuk mendapatkan lirik dan memaparkannya pada halaman secara serentak, supaya muzik boleh ditukar secara normal. Kod dilampirkan di bawah.
Salin kandungan ke papan keratan
- fungsi fn(sgname){
- $.get('music/' sgname '.lrc',function(data){
- var str=parseLyric(data); for(var
- i=0,li;i<str.length;i ){
- li=$('<li>' str[i][1] 'li>'); $('#gc ul').tambah(li);
- }
- $('#aud')[0]
- .kemas kini tepat masa=fungsi(){//video Dicetuskan apabila kedudukan main balik semasa audio berubah untuk (var
- i = 0, l = str.panjang i < l i ) { jika (this.currentTime /*Masa main balik semasa*/
- > str[i][0]) { //Paparkan ke halaman
- $('#gc ul').css('atas',-i*40 200 'px'); //Alihkan lirik ke atas
- $('#gc ul li').css('color','#fff');
- $('#gc ul li:nth-child(' (i 1) ')').css('color','red'); //Serlahkan lirik yang sedang dimainkan
- }
- }
- if(this.ended){ //Tentukan sama ada muzik yang sedang dimainkan telah selesai dimainkan
- var
- lagu-lagu=$('.senarai_lagu li').panjang for(var
- i= 0,val;i<lagu-lagu;i ){
- val=$('.songs_list li:nth-child(' (i 1) ')').text(); jika(
- val==sgname){
- i=(i==(lagu-1))?1:i 2; >
- sgname=$('.songs_list li:nth-child(' i ')').text(); //Tukar selepas muzik selesai memainkan Sekeping muzik $('#gc ul').empty(); //Kosongkan lirik
- $('#aud').attr('src','music/' sgname '.mp3');
- fn(sgname);
- kembali;
- }
- }
- }
- };
- });
- } fn($('.songs_list li:nth-child(1)').text());
- Sekarang di sini lirik muzik anda boleh dipaparkan pada halaman secara normal dan serentak. Tetapi masih ada satu perkara yang hilang, iaitu senarai muzik Saya berharap dapat mengklik pada muzik dalam senarai ini untuk memainkan muzik Kod tersebut dilampirkan di bawah.
Kod XML/HTML
- <div kelas="lagu_cnt" >
- <ul kelas="senarai_lagu" >
- <li>Semalam Sekali Lagi li>
- <li>Anda Cantik li>
- ul>
- <butang kelas="sel_song" >点<br/>< br/>我butang>
- div>
- <div id="gc" >
- <ul>ul>
- div>
css代码
- #gc{
- lebar: 400px;
- tinggi: 400px;
- latar belakang: lutsinar;
- margin: 100px auto;
- warna: #fff;
- saiz fon: 18px;
- limpahan: tersembunyi;
- kedudukan: saudara;
- }
- #gc ul{
- kedudukan: mutlak;
- atas: 200px;
- }
- #gc ul li{
- selaraskan teks: tengah;
- tinggi: 40px;
- ketinggian garisan: 40px;
- }
- .lagu_cnt{
- terapung: kiri;
- margin atas: 200px;
- kedudukan: saudara;
- }
- .senarai_lagu{
- warna latar belakang: rgba(0,0,0,.2);
- jejari sempadan: 5px;
- terapung: kiri;
- lebar: 250px;
- lapik: 15px;
- margin-kiri: -280px;
- }
- .senarai_lagu li{
- tinggi: 40px;
- ketinggian garisan: 40px;
- saiz fon: 16px;
- warna: rgba(255,255,255,.8);
- kursor: penunjuk;
- }
- .songs_list li:hover{
- saiz fon: 20px;
- warna: rgba(255,23,140,.6);
- }
- .sel_song{
- kedudukan: mutlak;
- atas: 50%;
- lebar: 40px;
- tinggi: 80px;
- margin atas: -40px;
- saiz fon: 16px;
- selaraskan teks: tengah;
- warna latar belakang: lutsinar;
- sempadan: 1px pepejal #2DCB70;
- berat fon: tebal;
- kursor: penunjuk;
- jejari sempadan: 3px;
- fon-keluarga: sans-serif;
- peralihan:semua 2s;
- -moz-transition:semua 2s;
- -webkit-transition:semua 2s;
- -o-peralihan:semua 2s;
- }
- .sel_song:hover{
- warna: #fff;
- warna latar belakang: #2DCB70;
- }
- .senarai_lagu li.aktif{
- warna: #f00;
- }
js代码
- $('.songs_list li:nth-child(1)').addClass('active');
- $('.songs_cnt').mouseenter(function () {
- var e=acara||window.event;
- var teg= e.target||e.srcElement;
- jika(tag.nodeName=='BUTTON'){
- $('.songs_list').animate({'marginLeft':'0px'},'slow');
- }
- });
- $('.songs_cnt').mouseleave(function () {
- $('.songs_list').animate({'marginLeft':'-280px'},'slow');
- });
- $('.songs_list li').setiap(fungsi () {
- $(ini).klik(fungsi () {
- $('#aud').attr('src','music/' $(this).text() '.mp3');
- $('#gc ul').kosong();
- fn($(this).text());
- $('.songs_list li').removeClass('active');
- $(this).addClass('active');
- });
- })
好了,到了这里,那么你的这个歌词同步的效果的一些功能差不多都有了,美作了,美作了,美作了,关了了他们一了歌词同步的效果今天也就到这里了。更多信息请登录脚本之家网站了解更多!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

Klipsch Flexus Core 300 ialah model teratas dalam siri ini dan diletakkan di atas Flexus Core 200 yang sedia ada dalam barisan bar bunyi syarikat. Menurut Klipsch, ini adalah bar bunyi pertama di dunia yang bunyinya boleh disesuaikan dengan th

Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing
