所有分类
  • 所有分类
  • 后端开发
零基础学编程,手机音乐随心控

零基础学编程,手机音乐随心控

先来看用上一首和下一首按钮进行切换,在切换音乐时我们要注意的问题有下面几个:第一,我们要停止当前播放的音乐,转而播放下一首音乐;第二,要清空进度条和播放时间,重新计算;第三,歌曲信息要随之改变,播放器下面的播放列表样式也要变化。到此,音乐播

  • Beyond-光辉岁月
  • Daniel Powter-Free Loop
  • 周杰伦、费玉清-千里之外

现在科技真是日新月异,听歌都不用带CD机啦,手机就能帮你解决。下面就跟大家分享一下如何通过编程来控制手机音乐播放器,比如开始播放某首歌、暂停一下、换个曲子或是调整一下声音大小等功能,掌握了这些技巧,我们听歌的时候就更加方便舒心,生活品质也就跟着提高!

1.准备工作

var music1= document.getElementById("music1");
var music2= document.getElementById("music2");
var music3= document.getElementById("music3");
var mList = [music1,music2,music3];

搞定音乐播放器的关键是做好准备工作!要先找齐网页中的音频标签,统一放在一个列表中。这样的话,你就可以随心所欲地控制歌曲咯~

function playMusic(){
if(flag&&mList[index].paused){
            mList[index].play();
        document.getElementById("m"+index).style.backgroundColor = "#A71307";
document.getElementById("m"+index).style.color = "white";
progressBar();
        playTimes();
        play.style.backgroundImage = "url(media/pause.png)";
        flag = false;
}else{
        mList[index].pause();
        flag = true;
        play.style.backgroundImage = "url(media/play.png)";
}
}

下一步操作很简单,设定个标志标明正在播什么曲子,再给数组里每个位置设个初始值。有了这个小技巧,处理音乐时就可以弄清楚当前播放的歌曲名和进度

2.播放和暂停功能

这个歌曲播不播,暂停不暂停,是我们用音乐播放器必不可少的小操作!按当前曲子情况,选播放或暂停就是了。还能在按钮旁弄个好认的图,让别人知道我们现在在听啥歌~

function progressBar(){
var lenth=mList[index].duration;
timer1=setInterval(function(){
        cur=mList[index].currentTime;//获取当前的播放时间
        progress.style.width=""+parseFloat(cur/lenth)*300+"px";
        progressBtn.style.left= 60+parseFloat(cur/lenth)*300+"px";
},10)
}

这个程序就是用audio标签本身带有的放歌停歌曲目和我们自己写的一些小函数互相配合,实现音乐播放器这种操作的!

function playTimes(){
timer2=setInterval(function(){
        cur=parseInt(mList[index].currentTime);//秒数
        var minute=parseInt(cur/60);
        if (minute<10) {
            if(cur%60<10){
                playTime.innerHTML="0"+minute+":0"+cur%60+"";
            }else{
                playTime.innerHTML="0"+minute+":"+cur%60+"";
            }
        } else{
            if(cur%60<10){
                playTime.innerText= minute+":0"+cur%60+"";
            }else{
                playTime.innerText= minute+":"+cur%60+"";
            } 
        } 
},1000);
}

3.进度条和播放时间

零基础学编程,手机音乐随心控

你知道吗?进度条和计时器在听歌软件里可是很重要的!比如将整首歌的时间除以现在听到的歌曲速度,然后算出应该在哪个地方停下来就行,这样用户就能轻松地知道自己刚才听到了哪部分内容。

别忘了看看你的播放器,直接就能看到每首歌听得多少时间。把总时间拼成实际的钟点(比如分几分钟,还有几分几秒),好像就真的跟上音乐节奏咯~

//调整播放进度
total.addEventListener("click",function(event){
var e = event || window.event;
document.onmousedown = function(event){
        var e = event || window.event;
        var mousePos1 = e.offsetX;
        var maxValue1 = total.scrollWidth;
        mList[index].currentTime = (mousePos1/300)*mList[index].duration;
        progress.style.width = mousePos1+"px";
        progressBtn.style.left = 60+ mousePos1 +"px";
}
})

4.调整播放进度和音量

播放暂停搞定了?别急,进度条也要能调歌速。再看看那几块儿音量调节的小小块,对,必须搞定它们,大家才能玩得痛快!

volBtn.addEventListener("mousedown",function(event){
var e = event || window.event;
var that =this;
//阻止球的默认拖拽事件
e.preventDefault();
document.onmousemove = function(event){
var e = event || window.event;
var mousePos2 = e.offsetY;
var maxValue2 = vol.scrollHeight;
if(mousePos2maxValue2){
            mousePos2=maxValue2;
}
mList[index].volume = (1-mousePos2/maxValue2);
console.log(mList[index].volume);
volBtn.style.top = (mousePos2)+"px";
volBar.style.height = 60-(mousePos2)+"px";
document.onmouseup = function(event){
            document.onmousemove = null;
            document.onmouseup = null;
}
}
})

给进度条装个小耳朵,手指点一下或滑动调整音量,立刻就能显示出来。利用这个细微的信息,咱们可以轻松搞定调节歌曲播放进度和声音大小!这下听音乐更方便了!

5.歌曲切换

说到换歌,大家都懂的,要么就直接点上一曲或下一曲换,要么就在歌单里慢慢找呗。所以,我们得把每步做到位,保证换歌流程舒舒服服。

换歌时得先停之前的歌儿,看看新歌走了多远大概花多长时间。屏幕上要显示新歌名字还有变成什么样子,大家才知道听的啥新歌。

//上一曲
function prevM(){
clearInterval(timer1);
clearInterval(timer2);
stopM();
qingkong();
cleanProgress();
--index;
if(index==-1){
        index=mList.length-1;
}
clearListBgc();
document.getElementById("m"+index).style.backgroundColor = "#A71307";
document.getElementById("m"+index).style.color = "white";
changeInfo(index);
mList[index].play();
progressBar();
playTimes();
if (mList[index].paused) {
    play.style.backgroundImage = "url(media/play.png)";
}else{
    play.style.backgroundImage = "url(media/pause.png)";
}
} 
//下一曲
function nextM(){
clearInterval(timer1);
clearInterval(timer2);
stopM();
qingkong();
cleanProgress();
++index;
if(index==mList.length){
    index=0;
}
clearListBgc();
document.getElementById("m"+index).style.backgroundColor = "#A71307";
document.getElementById("m"+index).style.color = "white";
changeInfo(index);
mList[index].play();
progressBar();
playTimes();
if (mList[index].paused) {
    play.style.backgroundImage = "url(media/play.png)";
}else{
    play.style.backgroundImage = "url(media/pause.png)";
}
}

照着这个方法去做你会发现网站里的音乐播放器变得越来越完善了。这个功能多得惊人,绝对能把很多人都引过来用!音乐爱好者们快来试试,让我们一起沉浸在美妙的旋律中,尽情感受音乐的魅力。

m0.onclick = function (){
clearInterval(timer1);
clearInterval(timer2);
qingkong();
flag = false;
stopM();
index = 0;
pauseall();
play.style.backgroundImage = "url(media/pause.png)";
clearListBgc();
document.getElementById("m0").style.backgroundColor = "#A71307";
document.getElementById("m"+index).style.color = "white";
mList[index].play();
cleanProgress();
progressBar();
changeInfo(index);
playTimes();
}
m1.onclick = function (){
clearInterval(timer1);
clearInterval(timer2);
flag = false;
qingkong();
stopM();
index = 1;
pauseall();
clearListBgc();
play.style.backgroundImage = "url(media/pause.png)";
document.getElementById("m1").style.backgroundColor = "#A71307";
document.getElementById("m"+index).style.color = "white";
mList[index].play();
cleanProgress();
changeInfo(index);
progressBar();
playTimes();
}
m2.onclick = function (){
clearInterval(timer1);
clearInterval(timer2);
flag = false;
qingkong();
stopM();
index = 2;
pauseall();
play.style.backgroundImage = "url(media/pause.png)";
clearListBgc();
document.getElementById("m2").style.backgroundColor = "#A71307";
document.getElementById("m"+index).style.color = "white";
mList[index].play();
cleanProgress();
changeInfo(index);
progressBar();
playTimes();
}

原文链接:https://www.icz.com/technicalinformation/web/javascript/2024/04/14197.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?