如何在actionscript 3.0中为音乐播放器创建自定义搜索栏

时间:2013-05-06 09:31:43

标签: actionscript-3 flash

我正在制作简单的音乐播放器。它只播放一首歌。我想创建一个非常简单的搜索栏。我希望一个图形作为搜索组件工作 - 因此它可以向右和向左移动(在x轴上的两个点之间:图形在此处的起点,以及当歌曲结束时的结束点)并对应于歌曲的channel.position。总结一下:我想请一位善良的灵魂给我一些暗示,我应该用什么代码在x轴上以与歌曲的channel.position相对应的方式进行图形移动。

到目前为止,这是我的代码:

movieClip_1.stop(); 
var itsstoped:Boolean; 
var youpausedit:Boolean; 
var counter:Timer = new Timer(100); 
var chan:SoundChannel; 
var song:Sound = new Sound();
song.load(new URLRequest("wmc2.mp3")); 
song.addEventListener(Event.COMPLETE, soundloaded);
function soundloaded(event:Event)
{
trace("Song has been loaded.");
} 
counter.addEventListener(TimerEvent.TIMER,countcounter);  
itsstoped = true; 
youpausedit = false;  
button_2.addEventListener(MouseEvent.CLICK, presser);
function presser(event:MouseEvent):void
{
if(itsstoped == true && youpausedit == true)
{
    movieClip_1.gotoAndPlay(1);
    chan = song.play(chan.position);
    itsstoped = false; 
} 
else if(itsstoped == false)
{
    movieClip_1.gotoAndStop(1);
    chan.stop();
    itsstoped = true;
    youpausedit = true;
}   
else if(itsstoped == true && youpausedit == false)
{
    movieClip_1.gotoAndPlay(1);
    chan = song.play();
    counter.start();
    itsstoped = false; 
} 
}  
function countcounter(e:TimerEvent):void
{
trace(chan.position/song.length);
var percentage:uint = 100 * (chan.position / song.length);
trace(percentage);
if(percentage == 100)
{   movieClip_1.gotoAndStop(1);
    itsstoped = true;
    youpausedit = false;
    }
}

忽略movieClip_1,因为它只是在播放音乐时运行的动画。

2 个答案:

答案 0 :(得分:0)

类似的东西:

addEventListener(Event.ENTER_FRAME,onEFrame);

function onEFrame(e:Event):void
{
   graphic.x = graphicStartX + music.position/music.length*(graphicEndX-graphicStartX);
}

答案 1 :(得分:0)

这行代码中存在的问题:

var chan:SoundChannel; 

我已将其更改为:

var chan = new SoundChannel();

错误#1009不再显示。

乌拉! :)