2013-03-10 71 views
0

我正在尝试制作使用通道的音量滑块。如何制作使用通道的音量滑块

我不知道如何做到这一点。

这里是我的代码:

import flash.media.SoundChannel; 
import flash.net.URLRequest; 
import flash.media.Sound; 

// Enter Frame Event 
var sliderValue:uint = mySlider.sliderKnob.x; 
addEventListener(Event.ENTER_FRAME, frame); 
function frame(event):void { 
    sliderValue = mySlider.sliderKnob.x ; 
    status_txt.text = "Volume: "+sliderValue; 
    var snd:Sound = new Sound(); 
    var channel:SoundChannel = new SoundChannel(); 
    var volumeLevel = channel.soundTransform; 
    var req:URLRequest = new URLRequest("Background.mp3") 
    snd.load(req); 
    channel = snd.play(); 
    var newLevel:Number = mySlider.sliderKnob.x/100; 
    volumeLevel.volume = newLevel; 
    channel.soundTransform = volumeLevel; 
} 

回答

0

你实例化和加载每一个帧上的声音。你需要制作一个新的SoundTransform实例!
我认为滑块本身正在工作!

var snd:Sound = new Sound(); 
var channel:SoundChannel = new SoundChannel(); 
var volumeLevel:SoundTransform = new SoundTransform(); 

snd.load(new URLRequest("Background.mp3")); 
channel = snd.play(); 

addEventListener(Event.ENTER_FRAME, frame); 

function frame(event):void { 
    sliderValue = mySlider.sliderKnob.x ; 
    status_txt.text = "Volume: "+sliderValue; 
    var newLevel:Number = sliderValue/100; 
    volumeLevel.volume = newLevel; 
    channel.soundTransform = volumeLevel; 
}