-2

明日が期限の課題で、as3 を使用して Flash でオーディオ プレーヤーを作成します。as3が全くわかりません。クラスで使用したのと同じコードを使用したため、プレーヤーのコードが機能していますが、それを自分のものにしたいと思っています。Ipod スタイルのプレーヤーを作成しました。まず、進むボタンで次の曲を再生します。そのためのコードをどのように記述しますか?次へ 曲が再生されると、特定の画像が表示されるようにします。そして、次の曲が表示される次の画像に来るとき

これは私が持っている曲のコードです

function playTrack(e:MouseEvent) :void {
    switch(e.target.name) {
        case "track1":
            trackToLoad = "audio/Don't Stop Believing.mp3";
            trackName = "Journey • Don't Stop Believing"
            break;
        case "track2":
            trackToLoad = "audio/Never Never Land.mp3";
            trackName = "Metallica • Never Never Land"
            break;
    ...

しかし、停止して再生するボタンと、各曲を再生する 10 個のボタンだけではなく、次の曲に移動するためのスキップ ボタンが必要です。

これが助けになるのに十分な情報であることを願っていますありがとう

4

2 に答える 2

2

トラックをオブジェクトの配列として設定します。

var track1:Object = {
  track: 'Don\'t stop believing',
  artist: 'Journey',
  file: 'dont_stop_believing.mp3'
};
var track2 //same as above
var tracks:Array = [track1, track2, ...];

実際にクラスを作成することもできますTrackが、まだその段階に達していないようです。

playTrack関数を実際にマウス イベント ハンドラーにする代わりに、トラックの再生開始方法 (つまり、そのトラックのボタンをクリックする、次のボタンをクリックする、または前の歌は終わります)。関数を呼び出すマウス イベント (つまりclickTrack()) を処理するためだけに別の関数を記述しますplayTrack()

配列内にトラックを設定すると、各トラックのインデックス ( を含むcurrentTrack) を数値として記録できます。currentTrackそうすれば、変数をインクリメントするだけでトラックを反復処理できます。

このようにplayTrack()して、パラメータを取るように関数を設定することができますtrackNumber(つまりインデックス [0]、2 番目は [1] などです。したがって、関数をそのように記述するか、1 を引いて変換する必要があります。playTrack(1)tracksplayTrack()

于 2012-10-22T18:22:19.150 に答える
0

インデックス付き配列にある種のTrackオブジェクトを格納してみてください。インデックスを追跡し、ユーザーがスキップまたは戻るをクリックしたときにインデックスを変更できます。このTrackオブジェクトには、ファイルパス、トラック名、および表示するアートを格納できます。インデックスが変更されたら、配列から正しいトラックを取得してプレーヤーを更新します。

これは、実際に曲名を使用した例です。

于 2012-10-22T18:17:27.103 に答える