繁體
|
簡體
Sclub交友聊天~加入聊天室當版主
(檢舉)
分享
新浪微博
QQ空间
人人网
腾讯微博
Facebook
Google+
Plurk
Twitter
Line
标题:
flashCS5.5怎么控制音乐声音的大小
[打印本页]
作者:
网雨霏霏
时间:
2016-5-24 10:06
标题:
flashCS5.5怎么控制音乐声音的大小
本帖最后由 网雨霏霏 于 2016-5-24 10:22 编辑
原帖地址:
http://tieba.baidu.com/p/3588203691?pid=90276275901#90276275901
首先,要控制声音的大小,必须使用代码的方式加载声音。
如果将声音直接放入时间轴上播放,无法通过代码调整音量
因为提问者没有给出AS语言的版本,所以,我会同时撰写两种语言的写法
在3楼发布AS2的做法
4楼发布AS3的做法
2楼用于:撰写AS2和AS3都必须事先准备的事情
作者:
网雨霏霏
时间:
2016-5-24 10:34
本帖最后由 网雨霏霏 于 2016-5-24 12:14 编辑
一、准备工作:
即使是加载音乐,方法也有两种。一种是直接加载flash文件外部的音乐
另一种是将音乐导入flash的库内,通过在库内指定"AS链接"后进行编程
但,无论是哪一种,操作后,都要事先声明一个声音变量。我假设声音对象的名字是
mysd
1.直接加载flash文件外部的音乐
【1】AS2的写法:
var mysd:Sound=new Sound();
mysd.loadSound("http://vip.2d999.com/uploads/201605/201605c2428f067f6a1c8a526f9853bf94293c.mp3",true);
mysd.start();
复制
【2】AS3的写法:
var url:String=http://vip.2d999.com/uploads/201605/201605c2428f067f6a1c8a526f9853bf94293c.mp3;
var mysd:Sound=new Sound(new URLRequest(url));
mysd.play();
复制
2.通过在库内指定"AS链接"后进行编程
假设,库面板内的AS链接是shengyin:
[attach]417[/attach]
【1】AS2的写法:
var mysd:Sound=new Sound();
mysd.attachSound("shengyin");
mysd.start();
复制
【2】AS3的写法:
var mysd:Sound=new shengyin();
mysd.play();
复制
作者:
网雨霏霏
时间:
2016-5-24 10:44
本帖最后由 网雨霏霏 于 2016-5-24 10:45 编辑
二、AS2修改音量大小的做法:
我们已经设好了声音对象是mysd
那么,在AS2内,如下修改即可:
mysd.setVolume(60);
复制
将数字60修改为自己想要的值即可。
100就是原始音量。
友情提示:无论你在2楼中使用的是哪种方式加载的音乐,本楼中的代码都是通用的。
作者:
网雨霏霏
时间:
2016-5-24 10:59
本帖最后由 网雨霏霏 于 2016-5-24 11:16 编辑
三、AS3修改音量大小的做法:
AS3对于声音的控制变得更加复杂了,音量的操作不能直接控制声音对象实现。而是需要事先定义两个对象。
一个是SoundChannel类的对象,另一个是SoundTransform类的对象。
为了方便叙述,我直接以本楼给出的完整代码中创建的对象为例,进行介绍:
SoundChannel类对象是
sdcn
SoundTransform类对象是
sdtf
并且,声音播放的代码需要赋值给
sdcn
然后,设置音量的操作,就是通过给
sdcn
进行赋值,赋的值就是
sdft
的volume属性。
需要将2楼的对于AS3的写法的代码稍作修改,
将
mysd.play()
替换为
sdcn=mysd.play()
简而言之:AS3调节音量的步骤是:修改sdtf的volume属性即可(6)。但是这个sdtf需要赋值给sdcn(7),而sdcn又必须在一开始就与mysd建立联系(4)。
括号内的数字是下面的
完整代码
的行号
然后,完整代码如下:
【这是载入外部声音的写法。至于加载库内的写法,请参考2楼,仅需将下面代码的第一行修改即可(其余地方都一模一样)】
var url:String="http://vip.2d999.com/uploads/201605/201605c2428f067f6a1c8a526f9853bf94293c.mp3"
var mysd:Sound=new Sound(new URLRequest(url))
var sdcn:SoundChannel=new SoundChannel()
sdcn=mysd.play()
var sdtf:SoundTransform=new SoundTransform()
sdtf.volume=0.6
sdcn.soundTransform=sdtf
复制
友情提示:这里的音量数值,设为1的时候是原始音量。与AS2的100是不同的
欢迎光临 flash之路-flash技术交流 (http://flashroad.joinbbs.net/)
Powered by Discuz! 7.2