如何在ActionScript 3.0中增加/减少按键音量的音量如何使用键盘输入更改声音的音量?
0
A
回答
0
您将需要使用侦听器来侦听KeyboardEvents例如
http://www.bensilvis.com/?p=146
而要改变音量,当你如播放声音,您将需要使用SoundTransform上的SoundChannel返回
5
private var sound:Sound;
private var channel:SoundChannel;
private const INCREMENT:Number = 0.2;//change it as you like
sound = new Sound();
sound.addEventListener(Event.COMPLETE, onLoad);
sound.load(new URLRequest("song.mp3"));
function onLoad(e:Event):void
{
channel = sound.play();
if(stage)
{
stage.addEventListener(KeyboardEvent.KEY_UP, onKey);
}
else
trace("call this from a display object on stage");
}
function onKey(e:KeyboardEvent):void
{
var tr:SoundTransform = channel.soundTransform;
var vol:Number = tr.volume;
if(e.keyCode == Keyboard.UP)
vol += INCREMENT;
else if(e.keyCode == Keyboard.DOWN)
vol -= INCREMENT;
if(vol < 0)//volume ranges from 0 to 1
vol = 0;
if(vol > 1)
vol = 1;
tr.volume = vol;
channel.soundTransform = tr;
}
+0
谢谢!非常清楚 – Dimmduh
1
package {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundTransform;
import flash.net.URLRequest;
import flash.ui.Keyboard;
public class Main extends Sprite
{
public function Main()
{
sound = new Sound(new URLRequest("http://assets.flashstall.com/mp3/Estelle - American Boy (sample).mp3"));
soundChannel = sound.play();
stage.addEventListener(KeyboardEvent.KEY_UP, stage_onKeyUp);
}
private const INCREMENT_STEP:Number = .1;
private var sound:Sound;
private var soundChannel:SoundChannel;
private var soundTransform_:SoundTransform = new SoundTransform();
private function stage_onKeyUp(e:KeyboardEvent):void
{
if(!soundChannel) return;
switch(e.keyCode)
{
case Keyboard.UP:
if(soundChannel.soundTransform.volume >= 1) break;
soundTransform_.volume = soundChannel.soundTransform.volume + INCREMENT_STEP;
soundChannel.soundTransform = soundTransform_;
break;
case Keyboard.DOWN:
if(soundChannel.soundTransform.volume <= 0) break;
soundTransform_.volume = soundChannel.soundTransform.volume - INCREMENT_STEP;
soundChannel.soundTransform = soundTransform_;
break;
}
}
}
}
这应该这样做。
+0
这是正确的,但似乎不必要的复杂。 –
1
当您在声音对象上调用play()方法时,它会返回正在播放的SoundChannel。
var channel:SoundChannel = soundObject.play();
然后,您可以使用SoundChannel的soundTransform属性设置该声音的音量。
channel.soundTransform = new SoundTransform(0.5); // Sets the volume to 50%
更多的时候你想控制在你的电影中播放的所有声音的音量。这可以通过设置SoundMixer类的soundTransform属性来完成。
SoundMixer.soundTransform = new SoundTransform(0.5); // Sets the global volume to 50%
相关问题
- 1. iphone键盘声音
- 2. 更改声音输出
- 3. iOS5 Mobile Safari:使用语音助手处理HTML输入文本键盘输入/按键声音?
- 4. 你如何改变声音的输出音量?
- 5. 在键盘快捷键中听不到输入声音
- 6. 更改声音
- 7. 音量键单击时禁用声音
- 8. 音乐符号的键盘输入
- 9. 如何更改音频的音量AVPacket
- 10. 如何在Android键盘中禁用语音输入键
- 11. 如何使音量键对Audioplyer声音没有任何影响
- 12. 如何覆盖Android键盘上的语音输入键?
- 13. 使用Java更改音频输入?
- 14. 如何在自定义键盘中播放键盘声音?
- 15. Javascript声音输入
- 16. 鼎声音输入
- 17. 使用UIButton更改音量
- 18. 使用UISlider更改音量
- 19. 如何仅在我的Android应用中将按音量键的声音静音?
- 20. AVAudioRecorder&AVAudioPlayer - 内置扬声器的声音输出,如何更改?
- 21. 如何更改java-ME键盘输入
- 22. 实时更改声音的音高(Swift)
- 23. 使用声音输入的触摸屏?
- 24. 更改简单声道的音量
- 25. 音频单元:使用声音输出作为输入源
- 26. Python诅咒 - textpad.Textbox()键盘输入不与德国元音变音
- 27. DirectSound:如何更改麦克风的输入音量?
- 28. 如何使用Inno Setup中的BASS库将音频静音(更改音量)
- 29. 制作音乐QWERTY键盘。播放错误声音而不是声音
- 30. Phonegap/Cordova更改个人声音的音量?
你真的需要编辑你的标题,告诉人们问题是关于什么。像“如何使用AS3中的键盘调节音量”。 –