我正在制作简单的音乐播放器。它只播放一首歌。我想创建一个非常简单的搜索栏。我希望一个图形作为搜索组件工作 - 因此它可以向右和向左移动(在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,因为它只是在播放音乐时运行的动画。
答案 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不再显示。
乌拉! :)