所以我明天就要完成这项任务,并使用as3在Flash中创建一个音频播放器。我根本不懂as3。我有播放器的代码,因为我只使用了我们在课堂上使用的相同代码,但我有点想让它成为我自己的代码。 我创造了一个Ipod风格的播放器。 首先,我希望前进按钮播放下一首歌曲。我该如何编写代码呢? 下一首歌曲播放时我想要显示特定图像。当下一首歌出现在下一张图片上时
这是我对歌曲的代码
function playTrack(e:MouseEvent) :void {
switch(e.target.name) {
case "track1":
trackToLoad = "audio/Don't Stop Believing.mp3";
trackName = "Journey • Don't Stop Believing"
break;
case "track2":
trackToLoad = "audio/Never Never Land.mp3";
trackName = "Metallica • Never Never Land"
break;
...
但不是只有一个停止和播放按钮以及播放每首歌曲的10个按钮,我想要一个跳过按钮来转到下一首歌..
希望这足以获得一些帮助 谢谢
答案 0 :(得分:2)
将曲目设置为对象数组:
var track1:Object = {
track: 'Don\'t stop believing',
artist: 'Journey',
file: 'dont_stop_believing.mp3'
};
var track2 //same as above
var tracks:Array = [track1, track2, ...];
你真的可以创建一个Track
课程,但听起来你还没有达到这一点。
不是让你的playTrack
函数实际上是鼠标事件处理程序,而是应该将它分开,以便无论轨道如何开始播放它都可以普遍使用(即点击该轨道的按钮,点击下一个按钮,或上一首歌曲结束后)。写一个单独的函数来处理鼠标事件(即clickTrack()
),它将调用你的playTrack()
函数。
在数组中设置曲目将允许您记录每个曲目的索引(包括currentTrack
)作为数字。这样,只需递增currentTrack
变量即可遍历轨道。
这样,您可以将playTrack()
函数设置为trackNumber
参数(即playTrack(1)
。然后只需使用该参数来引用您要播放的曲目的索引在tracks
数组内。记住数组在0索引上意味着第一个元素是索引[0],第二个元素是[1],等等。所以你要么必须写{{1}以这种方式运行,或通过减去1进行转换。
答案 1 :(得分:0)
尝试在索引数组中存储某种Track
对象。您可以跟踪索引,并在用户点击跳过或后退时进行更改。 Track
对象可以存储文件路径,曲目名称和要显示的艺术品。索引更改后,从阵列中获取正确的曲目并更新播放器。