Heim > Web-Frontend > HTML-Tutorial > Verwenden Sie die einfachste Front-End-Technologie, um einen einfachen Musikplayer zu erstellen

Verwenden Sie die einfachste Front-End-Technologie, um einen einfachen Musikplayer zu erstellen

php中世界最好的语言
Freigeben: 2018-03-08 14:27:58
Original
3978 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie mit der einfachsten Front-End-Technologie einen einfachen Musik-Player erstellen. Welche Vorsichtsmaßnahmen es zu beachten gilt, ist Folgendes: ist ein praktischer Fall.

Die Musik dieses Players wird über die API von Douban FM bezogen. Wir können jede Musik auf Douban FM anhören.

HTML-Teil
Code:

<div class="wrapper">
<div class="background"></div>
<div class="content">
<audio src=""></audio>
<div class="music-massage">
<p class="musicname"></p>
<p class="musicer"></p>
</div>
<div class="music-icon">
<a class="m-icon m-fenxiang colored" href="http://service.weibo.com/share/share.php?title=#_loginLayer_1466697157538" target="new"></a>
<span class="m-icon m-star colored"></span>
<span class="m-icon m-heart colored"></span>
</div>
</div>
<span class="basebar">
<span class="progressbar"></span>
</span>
<div class="controls">
<div class="play-control">
<span class="m-icon m-play btn1" title="播放/暂停"></span>
<span class="m-icon m-change btn2" title="换频道"></span>
<span class="m-icon m-next btn3" title="换曲"></span>
</div>
<div class="music-control">
<span class="m-icon m-xunhuan colored"></span>
<span class="m-icon m-radom colored"></span>
</div>
</div>
</div>
Nach dem Login kopieren

Ich werde den CSS-Code hier nicht schreiben. Sie können sich die Quelldatei direkt ansehen oder sie beim Entwickler ansehen Werkzeuge. Wenn Sie Fragen haben, können Sie mir eine private Nachricht senden.

js-Teil
Code 1 (Wiedergabesteuerung):

//播放控制
var myAudio = $("audio")[0];
// 播放/暂停控制
$(".btn1").click(function(){
if (myAudio.paused) {
play()
} else {
pause()
}
});
// 频道切换
$(".btn2").click(function(){
getChannel();
});
// 播放下一曲音乐
$(".btn3").click(function(){
getmusic();
});
function play(){
myAudio.play();
$(&#39;.btn1&#39;).removeClass(&#39;m-play&#39;).addClass(&#39;m-pause&#39;);
}
function pause(){
myAudio.pause();
$(&#39;.btn1&#39;).removeClass(&#39;m-pause&#39;).addClass(&#39;m-play&#39;);
}
Nach dem Login kopieren

Code 2 (Ajax, um Douban FM-Musik zu erhalten):

//获取随机频道信息
function getChannel(){
$.ajax({
url: &#39;http://api.jirengu.com/fm/getChannels.php&#39;,
dataType: &#39;json&#39;,
Method: &#39;get&#39;,
success: function(response){
var channels = response.channels;
var num = Math.floor(Math.random()*channels.length);
var channelname = channels[num].name;//获取随机频道的名称
var channelId = channels[num].channel_id;//获取随机频道ID
$(&#39;.record&#39;).text(channelname);
$(&#39;.record&#39;).attr(&#39;title&#39;,channelname);
$(&#39;.record&#39;).attr(&#39;data-id&#39;,channelId);//将频道ID计入data-id中
getmusic();
}
})
}
// 通过ajax获取歌曲
function getmusic(){
$.ajax({
url: &#39;http://api.jirengu.com/fm/getSong.php&#39;,
dataType: &#39;json&#39;,
Method: &#39;get&#39;,
data:{
&#39;channel&#39;: $(&#39;.record&#39;).attr(&#39;data-id&#39;)
},
success: function (ret) {
var resource = ret.song[0],
url = resource.url,
bgPic = resource.picture,
sid = resource.sid,//获取歌词的参数
ssid = resource.ssid,//获取歌词的参数
title = resource.title,
author = resource.artist;
$(&#39;audio&#39;).attr(&#39;src&#39;,url);
$(&#39;.musicname&#39;).text(title);
$(&#39;.musicname&#39;).attr(&#39;title&#39;,title)
$(&#39;.musicer&#39;).text(author);
$(&#39;.musicer&#39;).attr(&#39;title&#39;,author)
$(".background").css({
&#39;background&#39;:&#39;url(&#39;+bgPic+&#39;)&#39;,
&#39;background-repeat&#39;: &#39;no-repeat&#39;,
&#39;background-position&#39;: &#39;center&#39;,
&#39;background-size&#39;: &#39;cover&#39;,
});
play();//播放
}
})
};
Nach dem Login kopieren

Hinweis: Douban schränkt unseren Zugriff ein. Fügen Sie daher unbedingt hinzu Code 3 (Fortschrittsbalkensteuerung):


Das Audio-Tag selbst in HTML5 stellt die Fortschrittsbalkenfunktion und die Lautstärkekontrollfunktion zur Verfügung Schöne Benutzeroberfläche, aber es gibt noch keine Lautstärkeregelung. Sie können sie selbst hinzufügen.
setInterval(present,500)    //每0.5秒计算进度条长度
$(".basebar").mousedown(function(ev){  //拖拽进度条控制进度
var posX = ev.clientX;
var targetLeft = $(this).offset().left;
var percentage = (posX - targetLeft)/400100;
myAudio.currentTime = myAudio.duration * percentage/100;
});
function present(){
var length = myAudio.currentTime/myAudio.duration100;
$(&#39;.progressbar&#39;).width(length+&#39;%&#39;);//设置进度条长度
//自动下一曲
if(myAudio.currentTime == myAudio.duration){
getmusic()
}
}
Nach dem Login kopieren


Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Verwandte Lektüre:

Wie man den Browser in einen Editor verwandelt


Wie man mit Python die Bildähnlichkeit bestimmt


Javascript-Skript zum Herunterladen von Bildern

Das obige ist der detaillierte Inhalt vonVerwenden Sie die einfachste Front-End-Technologie, um einen einfachen Musikplayer zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage