Flash学习As3音乐播放器教程.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Flash 学习 As3 音乐播放器教程 那么开始吧!大家先下载一下源文件。对着源文件的结构看教程。我将整个播放器做到一个元件中(Control_panel),再给它绑定一个类(sound_lib.Control_panel),所有的代码就写在这个类里面了。这样做的好处是:日后要用到它时,直接把 Control_panel 元件拖到你要用的地方就 Ok 了! 接下来就是 code 了:要做音乐播放器,最重要的两个类当然就是Sound 和 SoundChannel。先试一下,怎样让一首 mp3 播放起来: //建立一个 Sound 类 sound=new Sound() //加载 mp3 文件 sound.load(new URLRequest(“你的 mp3 路径”)) //播放 sound.play() Ok 了! 完整代码: package sound_lib{ import flash.display.* import flash.media.Sound import flash.media.SoundChannel import flash.net.URLRequest public class Control_panel extends MovieClip{ private varsound:Sound private constsound_url:String=sound_data/m01.mp3 public function Control_panel(){ init() 11. } private function init(){ sound_init() 14. } function sound_init(){ sound=new Sound() sound.load(new URLRequest(sound_url)) sound.play() 19. } 20. } 21. } 22. Ctrl+Enter 一下。是不是听到音乐了?啊?没听到?看看 sound_data 目录下是否放了 mp3 文件没?如果一切正常的话,你现在应该在享受你的音乐了。 呵呵。不过别忘了大多数播放器是要用在 web 上的。有时候声音播放的速度可能比下载的速度还要快,这种情况下声音播放就会暂停等待数据下载,为了更好的处理这个环节,我们 可以设置一个数据缓冲区,当声音数据下载到一定数量时再进行播放,这样的话即使下载速 度偶尔变慢也不会影响正常播放。默认下 Sound 对象只创建 1 秒钟的缓冲,也就是说要想立即播放也需要等待 1 秒钟的缓冲,缓冲区的数据播放完后要想再次播放还要至少等1 秒钟缓冲时间。显然如果网速较慢的话且缓冲为1 秒时,在这种情况下音乐的播放将会给人很” 卡”的感觉。所以我们必需手动设置一下缓冲: 设置缓冲需要用到 SoundLoaderContext 类:建立一个 SoundLoaderContext 对象,然后设置它的 bufferTime 属性就行了。最后将SoundLoaderContext 对象传给 sound 对象的 load()方法的参数就行了。 //建立一个 SoundLoaderContext 类,设置 bufferTime 为 5 秒 varbuffer:SoundLoaderContext=new SoundLoaderContext(5000) sound=new Sound() sound.load(new URLRequest(sound_url),buffer) sound.play() 声音的暂停与回放 这样,即使放到 web 上也不成问题了。不过现在只是能正常播放了,我们还得控制它才行嘛!最常见的控制就是暂停与回放了。声音的暂停与回放不像视频流那样,可以直接pause 和 resume 来操作。看看 Soun 类,大家可能会调用 Sound 对象的 close( )方法可以停止播放, 但是这样也停止了声音流,要想重新播放,必须再次调用load( )方法。这显然不是我们想要的。这里我们终于要用到上面所提到的 SoundChannel 了,其实对音频的绝大多数操作都是SoundChannel 类来完成的。SoundChannel 的 stop()方法可以让音乐暂停而不影响声音流的中断。于是我们可以用 SoundChannel 对象的 stop()方法与 Sound 对象的 play()方法来暂停与回流音频流。但是,当再次调用 play( )方法时,音乐会从头开始播放而不是从暂停的地方开始, 这个时候就要用到 SoundChannel 类的 position 属性了:position 属性是用来记录音乐播放头的。我们可以在暂停时,记录下position 的值,然后再次调play

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档