免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

flashCS5.5怎么控制音乐声音的大小

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第3261个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
本帖最后由 网雨霏霏 于 2016-5-24 10:22 编辑

原帖地址:
http://tieba.baidu.com/p/3588203691?pid=90276275901#90276275901





首先,要控制声音的大小,必须使用代码的方式加载声音。
如果将声音直接放入时间轴上播放,无法通过代码调整音量




因为提问者没有给出AS语言的版本,所以,我会同时撰写两种语言的写法

在3楼发布AS2的做法
4楼发布AS3的做法

2楼用于:撰写AS2和AS3都必须事先准备的事情
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

本帖最后由 网雨霏霏 于 2016-5-24 12:14 编辑

一、准备工作:
即使是加载音乐,方法也有两种。一种是直接加载flash文件外部的音乐
另一种是将音乐导入flash的库内,通过在库内指定"AS链接"后进行编程
但,无论是哪一种,操作后,都要事先声明一个声音变量。我假设声音对象的名字是mysd

1.直接加载flash文件外部的音乐
【1】AS2的写法:
  1. var mysd:Sound=new Sound();
  2. mysd.loadSound("http://vip.2d999.com/uploads/201605/201605c2428f067f6a1c8a526f9853bf94293c.mp3",true);
  3. mysd.start();
复制

【2】AS3的写法:
  1. var url:String=http://vip.2d999.com/uploads/201605/201605c2428f067f6a1c8a526f9853bf94293c.mp3;
  2. var mysd:Sound=new Sound(new URLRequest(url));
  3. mysd.play();
复制

2.通过在库内指定"AS链接"后进行编程
假设,库面板内的AS链接是shengyin:

【1】AS2的写法:
  1. var mysd:Sound=new Sound();
  2. mysd.attachSound("shengyin");
  3. mysd.start();
复制

【2】AS3的写法:
  1. var mysd:Sound=new shengyin();
  2. mysd.play();
复制
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

本帖最后由 网雨霏霏 于 2016-5-24 10:45 编辑

二、AS2修改音量大小的做法:
我们已经设好了声音对象是mysd
那么,在AS2内,如下修改即可:
  1. mysd.setVolume(60);
复制

将数字60修改为自己想要的值即可。
100就是原始音量。

友情提示:无论你在2楼中使用的是哪种方式加载的音乐,本楼中的代码都是通用的。
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

本帖最后由 网雨霏霏 于 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楼,仅需将下面代码的第一行修改即可(其余地方都一模一样)】

  1. var url:String="http://vip.2d999.com/uploads/201605/201605c2428f067f6a1c8a526f9853bf94293c.mp3"
  2. var mysd:Sound=new Sound(new URLRequest(url))
  3. var sdcn:SoundChannel=new SoundChannel()
  4. sdcn=mysd.play()
  5. var sdtf:SoundTransform=new SoundTransform()
  6. sdtf.volume=0.6
  7. sdcn.soundTransform=sdtf
复制







友情提示:这里的音量数值,设为1的时候是原始音量。与AS2的100是不同的
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页