Rumah hujung hadapan web Tutorial H5 HTML5 menggunakan teg Audio untuk mencapai kesan kemahiran tutorial _html5 penyegerakan lirik

HTML5 menggunakan teg Audio untuk mencapai kesan kemahiran tutorial _html5 penyegerakan lirik

May 16, 2016 pm 03:51 PM
audio html5

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.

Kod XML/HTMLSalin kandungan ke papan keratan
  1. <audio src="muzik/Semalam Sekali Lagi .mp3" id="aud" automain="automain" kawalan="kawalan" pramuat="auto"> 
  2. Pelayar anda tidak menyokong atribut audio, sila tukar penyemak imbas untuk menyemak imbas. 
  3. 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

Kod XML/HTMLSalin kandungan ke papan keratan
  1. //Bahagian penyegerakan lirik
  2. fungsi parseLyric(teks) {
  3. //Pisahkan teks ke baris demi baris dan simpan dalam tatasusunan
  4. var garisan = teks.split('n'),
  5. //Ungkapan biasa yang digunakan untuk memadankan masa, hasil padanan adalah serupa dengan [xx:xx.xx]
  6. corak = /[d{2}:d{2}.d{2}]/g,
  7. //Array untuk menyimpan keputusan akhir
  8. hasil = [];
  9. //Alih keluar garisan tanpa masa
  10. sementara (!pattern.test(garisan[0])) {
  11. garisangarisan = lines.slice(1);
  12. };
  13. //Apabila menggunakan 'n' untuk menjana tatasusunan di atas, elemen terakhir dalam hasilnya ialah elemen kosong, yang akan dialih keluar di sini
  14. garisan[garisan.panjang - 1]
  15. .panjang === 0 && garisan.pop(); lines.forEach(function(v /*array element value*/ , i /*element index*/ , a /*array itself*/ ) {
  16. //Masa ekstrak [xx:xx.xx]
  17. var
  18. masa
  19. = v.padanan(corak), //Ekstrak lirik
  20. v
  21. 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
  22. masa.untukSetiap(fungsi(v1, i1, a1) {
  23. //Alih keluar kurungan segi empat sama dalam masa untuk mendapatkan xx:xx.xx
  24. var
  25. t
  26. = v1.slice(1, -1).split(':'); //Tolak hasil ke dalam tatasusunan terakhir
  27. result.push([parseInt(t[0], 10) * 60 parseFloat(t[1]), nilai]);
  28. });
  29. });
  30. //Akhir sekali, susun elemen dalam tatasusunan hasil mengikut masa supaya lirik boleh dipaparkan secara normal selepas menyimpan
  31. hasil.sort(fungsi(a, b) {
  32. kembali a[0] - b[0];
  33. });
  34. hasil pulangan;
  35. }
  36. 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.
Kod XML/HTML

Salin kandungan ke papan keratan

  1. fungsi fn(sgname){
  2. $.get('music/' sgname '.lrc',function(data){  
  3. var str=parseLyric(data);
  4. for(var
  5. i=0,li;i<str.length;i ){
  6. li=$('<li>' str[i][1] 'li>'); 
  7. $('#gc ul').tambah(li);
  8. }
  9. $('#aud')[0]
  10. .kemas kini tepat masa=fungsi(){//video Dicetuskan apabila kedudukan main balik semasa audio berubah
  11. untuk (var
  12. i = 0, l = str.panjang i < l i ) {
  13. jika (this.currentTime /*Masa main balik semasa*/
  14. > str[i][0]) {
  15. //Paparkan ke halaman
  16. $('#gc ul').css('atas',-i*40 200 'px'); //Alihkan lirik ke atas
  17. $('#gc ul li').css('color','#fff');
  18. $('#gc ul li:nth-child(' (i 1) ')').css('color','red'); //Serlahkan lirik yang sedang dimainkan
  19. }
  20. }
  21. if(this.ended){ //Tentukan sama ada muzik yang sedang dimainkan telah selesai dimainkan
  22. var
  23. lagu-lagu=$('.senarai_lagu li').panjang
  24. for(var
  25. i= 0,val;i<lagu-lagu;i ){
  26. val=$('.songs_list li:nth-child(' (i 1) ')').text();
  27. jika(
  28. val==sgname){
  29. i=(i==(lagu-1))?1:i 2; >
  30. sgname=$('.songs_list li:nth-child(' i ')').text(); //Tukar selepas muzik selesai memainkan Sekeping muzik $('#gc ul').empty(); //Kosongkan lirik
  31. $('#aud').attr('src','music/' sgname '.mp3');
  32. fn(sgname);
  33. kembali;
  34. }
  35. }
  36. }
  37. };
  38. });
  39. } fn($('.songs_list li:nth-child(1)').text());
  40. 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 HTML



Kod XML/HTML

Salin kandungan ke papan keratan
  1. <div kelas="lagu_cnt" >    
  2. <ul kelas="senarai_lagu" >    
  3. <li>Semalam Sekali Lagi li>    
  4. <li>Anda Cantik li>    
  5. ul>    
  6. <butang kelas="sel_song" ><br/>< br/>butang>
  7. div>    
  8. <div id="gc" >    
  9. <ul>ul>    
  10. div>   

css代码

Kod XML/HTML复制内容到剪贴板
  1. #gc{    
  2. lebar: 400px;    
  3. tinggi: 400px;    
  4. latar belakang: lutsinar;    
  5. margin: 100px auto;    
  6. warna: #fff;    
  7. saiz fon: 18px;    
  8. limpahan: tersembunyi;    
  9. kedudukan: saudara;    
  10. }    
  11. #gc ul{    
  12. kedudukan: mutlak;    
  13. atas: 200px;    
  14. }    
  15. #gc ul li{    
  16. selaraskan teks: tengah;    
  17. tinggi: 40px;    
  18. ketinggian garisan: 40px;    
  19. }    
  20. .lagu_cnt{    
  21. terapung: kiri;    
  22. margin atas: 200px;    
  23. kedudukan: saudara;    
  24. }    
  25. .senarai_lagu{    
  26. warna latar belakang: rgba(0,0,0,.2);    
  27. jejari sempadan: 5px;    
  28. terapung: kiri;    
  29. lebar: 250px;    
  30. lapik: 15px;    
  31. margin-kiri: -280px;    
  32. }    
  33. .senarai_lagu li{    
  34. tinggi: 40px;    
  35. ketinggian garisan: 40px;    
  36. saiz fon: 16px;    
  37. warna: rgba(255,255,255,.8);    
  38. kursor: penunjuk;    
  39. }    
  40. .songs_list li:hover{    
  41. saiz fon: 20px;    
  42. warna: rgba(255,23,140,.6);    
  43. }    
  44. .sel_song{    
  45. kedudukan: mutlak;    
  46. atas: 50%;    
  47. lebar: 40px;    
  48. tinggi: 80px;    
  49. margin atas: -40px;    
  50. saiz fon: 16px;    
  51. selaraskan teks: tengah;    
  52. warna latar belakang: lutsinar;    
  53. sempadan: 1px pepejal #2DCB70;    
  54. berat fon: tebal;    
  55. kursor: penunjuk;    
  56. jejari sempadan: 3px;    
  57. fon-keluarga: sans-serif;    
  58. peralihan:semua 2s;    
  59. -moz-transition:semua 2s;    
  60. -webkit-transition:semua 2s;    
  61. -o-peralihan:semua 2s;    
  62. }    
  63. .sel_song:hover{    
  64. warna: #fff;    
  65. warna latar belakang: #2DCB70;    
  66. }    
  67. .senarai_lagu li.aktif{    
  68. warna: #f00;    
  69. }   

js代码

Kod XML/HTML复制内容到剪贴板
  1. $('.songs_list li:nth-child(1)').addClass('active');    
  2. $('.songs_cnt').mouseenter(function () {    
  3. var e=acara||window.event;    
  4. var tege.target||e.srcElement;    
  5. jika(tag.nodeName=='BUTTON'){    
  6. $('.songs_list').animate({'marginLeft':'0px'},'slow');    
  7. }    
  8. });    
  9. $('.songs_cnt').mouseleave(function () {    
  10. $('.songs_list').animate({'marginLeft':'-280px'},'slow');    
  11. });    
  12. $('.songs_list li').setiap(fungsi () {    
  13. $(ini).klik(fungsi () {    
  14. $('#aud').attr('src','music/' $(this).text() '.mp3');    
  15. $('#gc ul').kosong();    
  16. fn($(this).text());    
  17. $('.songs_list li').removeClass('active');    
  18. $(this).addClass('active');    
  19. });    
  20. })  

好了,到了这里,那么你的这个歌词同步的效果的一些功能差不多都有了,美作了,美作了,美作了,关了了他们一了歌词同步的效果今天也就到这里了。更多信息请登录脚本之家网站了解更多!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

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

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

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

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

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

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

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

Klipsch memperkenalkan bar bunyi utama Flexus Core 300 dengan sokongan 8K, 12 pembesar suara dan pembetulan bilik Klipsch memperkenalkan bar bunyi utama Flexus Core 300 dengan sokongan 8K, 12 pembesar suara dan pembetulan bilik Sep 05, 2024 am 10:16 AM

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

Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

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

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

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

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

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

See all articles