次の例を使用してMP3ファイルを再生します([開く]ダイアログは必要ありません)。
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView">
<fx:Script>
<![CDATA[
import flash.media.*;
[Embed(source="assets/marseljeza.mp3")]
[Bindable]
public var sndCls:Class;
public var snd:Sound = new sndCls() as Sound;
public var sndChannel:SoundChannel;
public function playSound():void {
sndChannel=snd.play();
}
public function stopSound():void {
sndChannel.stop();
}
]]>
</fx:Script>
<s:HGroup>
<s:Button label="play" click="playSound();"/>
<s:Button label="stop" click="stopSound();"/>
</s:HGroup>
</s:View>`
PLAYボタンをクリックした後、MP3ファイルは問題なく再生されますが、PLAYボタンをもう一度クリックすると、曲は最初から同時に最初からやり直します。ボタンを3、4、5以上クリックしても同じです。回数。そのため、同じ曲の「セッション」が同時に発生することになります。最初のクリック後にPLAYボタンを無効にし、STOPをクリックした後に同じボタンを再度有効にします。これどうやってするの?