繁體
|
簡體
Sclub交友聊天~加入聊天室當版主
(檢舉)
分享
新浪微博
QQ空间
人人网
腾讯微博
Facebook
Google+
Plurk
Twitter
Line
标题:
求flash as3.0按钮使音乐停止播放的代码
[打印本页]
作者:
网雨霏霏
时间:
2016-5-19 10:34
标题:
求flash as3.0按钮使音乐停止播放的代码
来源网址:
http://tieba.baidu.com/p/4555887652
只需要链接到按钮并且按下去停止播放音乐的代码。本人小白。不太懂代码。代码里应该是一个链接到按钮的标签,还有链接到音乐的标签吧?
二楼给出详解
作者:
网雨霏霏
时间:
2016-5-19 10:37
因为发帖者没有提供音乐是如何加入的,所以,这里我将所有可能的情况逐一陈列,并分别给出解决方法:
情况一【强烈推荐】:载入外部音乐
见3楼
情况二:加载库内音乐
见4楼
情况三:【强烈不推荐】控制放在了时间轴上的音乐
见5楼
作者:
网雨霏霏
时间:
2016-5-19 10:46
本帖最后由 网雨霏霏 于 2016-5-19 10:55 编辑
情况一【强烈推荐】:载入外部音乐
该种情况之所以被强烈推荐,因为自由度高,操作简单,可以极大地节约时间、提高效率
具体步骤:
一、载入音乐并播放:
可以载入本地的音乐,也可以载入网络的音乐。
为了能尽快的看到效果,这里载入本地的音乐。假如说,音乐和fla文件在同一个文件夹内,且音乐的名字是
喜欢你.mp3
下面给出载入音乐并播放的代码:
var url="喜欢你.mp3"
var mysd:Sound=new Sound(new URLRequest(url))
var sdcn:SoundChannel=new SoundChannel()//这是本例的关键,AS3的声音停止的控制被单独拿出来放到SoundChannel类
sdcn=mysd.play()
复制
二、停止播放:
之所以加上步骤一,是因为:必须先创建了音乐才可以停止它。
舞台中放置一个按钮,属性面板内给一个实例名,假如说是
anniu
在步骤一的代码基础上写如下代码:
anniu.addEventListener(MouseEvent.CLICK,dj)
function dj(e:MouseEvent){
sdcn.stop()
}
复制
作者:
网雨霏霏
时间:
2016-5-19 11:04
本帖最后由 网雨霏霏 于 2016-5-19 11:14 编辑
情况二:加载库内音乐
首先,必须将外部的音乐导入到库内【题外话:不是所有的mp3都可以直接导入】,
然后,必须在库面板【Ctrl+L可打开】内指定一个“AS链接”,
最后,才可以使用代码操控
这里,我觉得有必要讲解一下设置AS链接的方法:
随着flash创软的版本号不同,设置的方法也不同
flashCS3之前(含flashCS3)如下操作:
[attach]392[/attach]
会打开对话框:
[attach]393[/attach]
单击“为AS导出”按钮后,在“类”后面输入文字,强烈建议修改为纯英文,如图,我设置为
mysd
确定后关闭对话框。会提示你神马东东,无视即可
搞定后,库面板内就会出现“链接” 导出mysd 的字样
flashCS4之后(含flashCS4)如下操作:
[attach]394[/attach]
超级简单,仅需在“链接”那里双击,然后输入文字即可。如图,我设置为
mysd
接下来就是代码操控了:
与3楼的几乎一样,只是代码的第一行稍有不同:
var sd:Sound=new mysd()
var sdcn:SoundChannel=new SoundChannel()//这是本例的关键,AS3的声音停止的控制被单独拿出来放到SoundChannel类
sdcn=sd.play()
anniu.addEventListener(MouseEvent.CLICK,dj)
function dj(e:MouseEvent){
sdcn.stop()
}
复制
作者:
网雨霏霏
时间:
2016-5-19 11:20
情况三:【强烈不推荐】控制放在了时间轴上的音乐
该种情况需要事先将mp3音乐导入到库,然后时间轴第一帧单击后,
[attach]395[/attach]
在属性面板内指定库内已存的音乐
同时,时间轴的长度必须能够容纳音乐的总长度【在后面按F5键可以延长时间轴】
因为,必须将时间轴的长度延长的足够长【一首音乐基本上都在3000帧左右】,操作起来很麻烦,所以,严重不推荐这样做
然后,为了可以让代码操控,必须设置为 数据流:
[attach]396[/attach]
代码就很简单了
文件一打开就自动播放音乐,无需加额外的代码
要停止播放时,代码如下:
anniu.addEventListener(MouseEvent.CLICK,dj)
function dj(e:MouseEvent){
stop()
}
复制
作者:
匿名
时间:
2016-5-19 11:39
回复
3#
网雨霏霏
请问这个代码是直接播放音乐的吗?我想让他直接播放。这个代码可以插到mc里面吧?
作者:
匿名
时间:
2016-5-19 14:58
谢谢。:lol:lol
作者:
rtc6655
时间:
2016-5-19 15:14
请问这个播放外部音乐代码,怎么让音乐无限循环播放?
var url="Beginning of Breeding.mp3"
var mysd:Sound=new Sound(new URLRequest(url))
var sdcn:SoundChannel=new SoundChannel()
sdcn=mysd.play()
急,在线等
作者:
网雨霏霏
时间:
2016-5-19 15:55
回复
8#
rtc6655
最后一行,修改为:
[backcolor=yellow,blue]sdcn=mysd.play(0,9999)[/backcolor]
作者:
rtc6655
时间:
2016-5-19 16:27
回复
9#
网雨霏霏
非常感谢啊,
爱你么么哒~~~~~!
作者:
rtc6655
时间:
2016-5-20 15:44
不好意思,请问情况二:加载库内音乐。怎么把音乐无限播放?
我把 sdcn=sd.play()改成sdcn=sd.play(0.9999)
没有用了:'(:'(:'(
作者:
rtc6655
时间:
2016-5-20 15:45
回复
9#
网雨霏霏
不好意思,请问情况二:加载库内音乐。怎么把音乐无限播放?
我把 sdcn=sd.play()改成sdcn=sd.play(0.9999)
没有用了:'(
作者:
flashroad
时间:
2016-5-20 16:05
回复
12#
rtc6655
0和999之间用
逗号
隔开,你写的是
点号
所以
错了
作者:
rtc6655
时间:
2016-5-20 17:03
回复
13#
flashroad
爱你么么哒
作者:
网雨霏霏
时间:
2016-5-20 17:12
回复
14#
rtc6655
不客气。 若有后续问题 ,直接在本帖回复即可
贴吧里的帖子,求助的话,我不会理睬。造成的不便请谅解
欢迎光临 flash之路-flash技术交流 (http://flashroad.joinbbs.net/)
Powered by Discuz! 7.2