0

Flex でゲームを作成しましたが、そのゲームにはサウンドがあります。このようなアセットからサウンドをロードしてサウンド ファイルを再生します。これが関数です。

public function playSound(value:String, vol:Number):void
{

 mySound=new Sound();
 var urlRequest:URLRequest=new URLRequest(value);
 mySound.load(urlRequest);
 sChannel=mySound.play(0, 0, new SoundTransform(vol, 0));
}

サウンドを再生したいときは、次のように呼び出します。

playSound("sounds/abc.mp3", 1)

現在のプロジェクトのパッケージ内の「サウンド」。Eclipse でビルドすると問題なく動作しますが、そのゲームを Web に置くと、音楽が聞こえません。

どなたか直し方教えてください

4

3 に答える 3

0
var urlRequest:URLRequest=new URLRequest(value);

これを相対パスで渡しているため、リモート マシンで実行されている場合、そこにあるサウンドを探していて、明らかに見つかりません。この質問で詳しく説明されているように、サウンドを埋め込む必要があります。

[Embed(source="myfile.mp3")]
[Bindable] //Not required. Just an example of using multiple meta tags.  
public var soundCls:Class;

それから、私は少し錆びていますが、私はそれを信じています

sChannel = new soundCls().play(0, 0, new SoundTransform(vol, 0));
于 2012-09-19T02:56:43.620 に答える
0

サウンドファイルを変更しようとしたことがありますか

  1. サウンド ファイル内のすべてのメタデータを削除します。

  2. 新しい MP3 ファイルにエクスポートします。

  3. 大きすぎて読み込めませんか?リッスンするエラーイベントを追加してみてください。

于 2016-12-31T18:56:25.330 に答える
0

これを試してみてください。

    var urlReq:URLRequest = new URLRequest("assets/sound/sound3.mp3");
    var sound:Sound= new Sound(urlReq);

    sound.play();
于 2012-09-21T05:28:44.630 に答える