変数のスコープに問題があります。これは簡単に修正できるはずですが、見つかりません。
関数内のサウンド チャネルを介してサウンドを再生する必要があります。次に、サウンド チャネルの位置を読み取る別の関数が必要です。しかし、それを再生する関数の新しい変数のために、それを見ていません。関数の外で再生すると、別の関数から位置を取得できますが、関数でサウンドを開始すると、別の関数はチャンネル位置を読み取ることができません。これを修正するにはどうすればよいですか。
コード
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
var lastPosition:Number = 0; var CrossAudio = new Sound();
CrossAudio.load(new URLRequest("Cross.mp3"));
function playCross() {
PapaAudioChannel = CrossAudio.play();
}
bt_play.addEventListener(MouseEvent.CLICK, playA);
function playA(event:MouseEvent):void {
trace(PapaAudioChannel.position); // Does not work
/// It can't doesn't recognize the PapaAudioChannel because
/// it began playing in another function.
}
オーディオの位置を確認する 2 番目の関数を取得するにはどうすればよいですか。再生と一時停止ボタンでオーディオを開始する必要があるため、再生は関数で開始する必要があります。
ありがとう