• 首页
  • 教程
  • 资源
  • 脚本
  • 新闻
  • 会员
加入收藏  返回官网
你的位置:按键网资源站 >> 知识库
定时器应用之一-背景音乐的连续播放

在运行小精灵的时候,我想播放一些背景音乐,而且是几首不同的背景音乐连续播放(当然,也可以是要执行几个不同的其它的代码指令,譬如在运行小精灵时还想刷网页等等),于是就写下了如下的代码。定义时间还是精确到毫秒,不过还是看自己的应用了。这样就可以欣赏不同的背景音乐。
    这里我只是用来播放背景音乐,借以抛砖引玉,应用到其他的地方。
    代码如下

 

 

UserVar YYBF=1 "//定义要播放背景音乐时等于1"
If YYBF=1                  //如果要播放背景音乐
    Call BJYY           //则执行子程序
End If                        //否则条件结束
//-----------------------你的代码指令
//在你的代码指令里加入下面的语句
If YYBF=1
    Call FanYinYue
End If
//-----------------------你的代码指令
//在频繁用到的代码里加入下面的语句
If YYBF=1
    Call FanYinYue
End If
//-----------------------你的代码指令
//下面为子程序
Sub BJYY
    Ksyy = Plugin.Sys.GetTime()         //获得现在系统的原始时间
    yy=yy+1                             //这里有8首背景音乐
    If yy=1                                      //第一首背景音乐
        Call Plugin.Media.Play(".\plugin\M2M.wma")    //音乐名及地址
        Bfsj=280                        //定义这首背景音乐的长度
    End If
    If yy=2                                     //第二首背景音乐
        Call Plugin.Media.Play(".\plugin\Don't Say You Love Me .wma")  //音乐名及地址
        Bfsj=230                       //定义这首背景音乐的长度
    End If
    If yy=3                                     //第三首背景音乐
        Call Plugin.Media.Play(".\plugin\Everything you do.wma")  //音乐名及地址
        Bfsj=245                       //定义这首背景音乐的长度
    End If
    If yy=4
        Call Plugin.Media.Play(".\plugin\Girl in your dreams.wma")
        Bfsj=230
    End If
    If yy=5
        Call Plugin.Media.Play(".\plugin\Our song.wma")
        Bfsj=240
    End If
    If yy=6
        Call Plugin.Media.Play(".\plugin\THE DAY YOU WENT AWAY.wma")
        Bfsj=230
    End If
    If yy=7
        Call Plugin.Media.Play(".\plugin\郭采洁-笨的可以.wma")
        Bfsj=275
    End If
    If yy=8
        Call Plugin.Media.Play(".\plugin\林妙可-妙妙妙.wma")
        Bfsj=220
    End If
End Sub
Sub FanYinYue
    hyy = Plugin.Sys.GetTime()        //获得系统运行的现在时间
    xyq=((hyy-Ksyy)/1000)      //计算系统现在时间与系统原始时间之时间差
    If Bfsj<xyq                              //如果时间差大于背景音乐的播放时间长度
        Call BJYY                        //则调用子程序来检测下首背景音乐的播放时间长度
    End If
End Sub

 

如果你想把时间定时精确点,就多调用
If YYBF=1
    Call FanYinYue
End If
这语句,即调用的时候越多,则时间月精确。
但有点要注意,调用的时间间隔不能超过定义的定时时间,最好是定义的定时时间的1/10时间。当然是越频繁越好就时间越精确。
    音乐也可以改成自己喜欢的音乐,不过要注意背景音乐的地址和格式名,否则会找不到背景音乐。