0

ブラックベリーの開発に haxe (openfl) を使用しようとしています。そして、PlayingSound サンプルをテストしました - 動作します。しかし、URL からサウンドを読み込もうとすると、動作しません。

これが私のコードです:

public function PlaySong(url:String):Void{
    var _url:URLRequest = new URLRequest(url);                      
    if (_soundChannel != null) _soundChannel.stop();                
    _song = new Sound();
    _song.load(_url); //<--Do not work
    //_song = Assets.getSound("assets/stars.mp3"); <--work
    _soundChannel =_song.play(0);           
}   

フラッシュターゲットでは、このコードはURLからサウンドを再生していますが、アプリをデバイスにデプロイするとサウンドがありません。デバイスでは、アセット フォルダーから読み込んだ場合にのみサウンドが正しく再生されます。また、soundChannel の位置は常に 0 (デバイス上) であることがわかります。

最初にローダーでサウンドをロードし、ロードが完了したら再生しようとしますが、それも役に立ちません。

お願い助けて。

PS私の英語でごめんなさい。

4

1 に答える 1

0

これを使用してロードしようとしましたか:

var loader:URLLoader = URLLoader(new URLRequest("url"));
loader.data = DataFormat.BINARY;

それから試してください

loader.addEventListener(Event.COMPLETE, onComplete);

function onComplete(e:Event):Void
{
    sound.loadCompressedDataFromByteArray(e.data.content)
}

最初にバイトをロードしてから、そこからサウンドを作成してみてください。とにかく、コードが他のモバイル デバイス (おそらくエミュレーター) で動作する場合は、ここで新しい問題を作成してください: https://github.com/openfl/openfl

于 2013-09-19T09:18:31.290 に答える