作者chengchieh (cc)
看板Flash
标题Re: [问题] 想请问array的用法及playlist
时间Mon Oct 17 00:09:11 2011
※ 引述《gioia000 (我没有要引战啊)》之铭言:
: 版上的各位高手好:
: 目前有三首曲目在选单当中,可以随机加入,也可以手动点选加入播放清单
: 现在遇到的问题是,加入播放清单後
: 请问该下什麽语法汇出然後可以播放清单内的歌曲且是一首接一首播放?
: 目前因为不太会用array的用法,所以写这样
: songlist.addItem({label:"01", data:"01.mp3"});
: songlist.addItem({label:"02", data:"02.mp3"});
: songlist.addItem({label:"03", data:"03.mp3"});
: 可是Array好像应该先var宣告
: var songlist:Array = new Array({label:"song1", data:"1.mp3"},{label:"song2",
: data:"2.mp3"},{label:"song3", data:"3.mp3"} );
上面两种写法都可以
差在第一个需要先宣告 var songlist:Array = [];
: mylist.addItem(songlist[0]);
: mylist.addItem(songlist[1]);
: mylist.addItem(songlist[2]);
mylist看起来像是待播清单
先整理一下加歌的方式
如果是所有歌曲都加入
可以使用
for each(var song:object in songlist)
{
mylist.addItem(song);
}
特定歌曲则是以该歌曲的index(索引值)去取出该物件加入
也就是你使用到的 mylist.addItem(songlist[0]);
而看起来目前比较大的问题是
在乱数播放 or 播放下一首歌的部分你不知道如何去写
播放下一首歌的部分
你必须要先侦测目前在播的歌 是不是播完了
Sound物件的播放是由SoundChannel物件来控制
所以你需要侦测播放使用的soundchannel的soundComplete事件
同时有一个变数纪录目前播到歌单的哪一首歌
当soundComplete时...则播放下一首
乱数播放 = 要播的对象...用random取index...
如果只是3首歌的话
其实也不一定要用Array
也是可以土法炼钢...
但是这就不会是一个比较灵活的程式
可能就变成...有3个soundchannel...各自有事件...一个播完换下一个..这样
其实as3网路上蛮好google这个功能相关的
关键字下对...很多范例可以看
也可以考虑找一些电子书or买书本来看(如果真的有兴趣的话)
只是应付作业的话...
google是你最好的朋友xd...
: Array的用法看似很简单,但是用起来还真想撞墙
: 或者请问网路上有例子可循吗?(p.s使用ActionScript 3.0)
: 还是其实不需要用到array,因为我目前只差在播放清单的播放问题
: 现在必须点选歌曲,它才会开始唱歌,可是他不会继续唱下去啊啊啊~~~
: --------------
: 写程式真的很好玩,但是老师没有教那麽多,却要写那麽多功能
: 对於没有半点Flash背景还有程式背景的新手,迟早会把头发抓光 Q__Q
--
所有创作者都面对相同的难题。价格是由供给和需求来决定的,
有趣工作的需求量,总是比不上解决个别客户的世俗问题。
在实验剧场里演戏,总是比不上在展览摊位上披着猩猩装来得有赚头。
写小说所赚的钱,还比不上垃圾处理器的广告文案。
对程式语言动手动脚的工钱,也比不上协助某公司连结老旧资料库与网站伺服器。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.235.204.13
1F:推 gioia000:谢谢您...我是有买书...可是书上没有写到这麽复杂 10/17 11:37
2F:→ gioia000:请问关於您说的关键字。请问是Sound Channel还是其他呢? 10/17 11:39
3F:→ chengchieh:基本上可以分成 播放歌曲(动作) 换谁播(逻辑)来思考 10/17 12:21
4F:→ chengchieh:因为看你PO的内容..在播放歌曲上是OK的.. 10/17 12:21
5F:→ chengchieh:只差在去替换的思考流程要怎麽操作 10/17 12:22
6F:→ chengchieh:复杂程度..应该算不上吧..只是把多个基本的东西做组合 10/17 12:24
7F:→ chengchieh:就好像hello world+loop可以衍生出九九乘法表一样... 10/17 12:25
8F:推 gioia000:板上的高手群真是使人钦佩...感谢您的概念建构 10/17 21:47