0

何らかの理由で、スライダー拡張 (スライド バー) はコードでは正常に機能しますが、私のコードでは機能しません。スライダーの値を取得し、それを使用して声のトーンを変更したいだけです。このモバイル アプリに fl およびフラッシュ ライブラリを使用しています。

fl ライブラリ (オブジェクト) からアトリビュートの値を取得して、フラッシュ オブジェクトで直接的または間接的に使用できないのはなぜですか?

私のコード:

  import flash.media.Microphone;
   import fl.events.SliderEvent;
   var mic:Microphone;
   gian_sildebar.addEventListener(SliderEvent.CHANGE, gianvalue);//error

  //Access of undefined property rate_sildebar.

  function setmic():void
   {
    var gainnumber:int=0;
gainnumber= gian_sildebar.value;//error yet "value" is int
mic.setGain(gainnumber);//error
}

他のコードは fl ライブラリを使用してのみ実装されており、同じ addEventListener を使用しても問題なく動作しますか?! ありがとうございました。

4

1 に答える 1

1

いくつかの問題:

  • micを初期化したことがないため、null です。getMicrophone関数を使用してマイク インスタンスを取得します。

  • 関数setGainは ActionScript 3 には適用できません。代わりにgainプロパティを使用してください。

スライダーがスライダーのインスタンスである(& がスコープ内にある) と仮定すると、正しいコードは次のようになります。

import flash.media.Microphone;
import fl.events.SliderEvent;

var mic:Microphone = Microphone.getMicrophone();

slider.addEventListener(SliderEvent.CHANGE, setmic);

function setmic(e:SliderEvent):void {

    mic.gain = slider.value as Number;  
}
于 2012-05-12T12:51:07.633 に答える