如何在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中的鍵盤調節音量」。 –