2009-03-20 13 views
6

Flash PlayerはURLから.wavファイルを再生できますか?

URLにwavファイルがあるとしましょう:

http://hostname.com/mysound.wav 

wavファイルを次のようなサウンドクラスでロードしようとしています:

var url:String = "http://hostname.com/test.wav"; 
var urlRequest:URLRequest = new URLRequest(url); 
var sound:Sound = new Sound(); 
sound.load(urlRequest); 
sound.play(); 

しかし、これは動作していないようです。 Flash Playerでwavファイルを再生できますか、それともmp3ですか?

+0

:上記の記事はpopforgeを使用して、ここではURLから外部の.wavファイルを再生するas3wavsoundを示しチュートリアルですか? Wavはコンテナであり、サウンドフォーマットではありません。 raw、MP3、uLawなどを含めることができます。 – strager

+0

ほとんどのwavは生きています。とにかくこの場合は重要ではないと思います。それは重要なコンテナ形式です。 – aaaidan

+0

ファイル – Geo

答えて

13

The ActionScript documentation for the Sound classは、MP3ファイルのみがサポートされていると述べています。

+3

を隠すことができます。それはおそらく最高のものです。 – aaaidan

+1

@aaaidanあなたは高品質のPCMに対処したいと思っていません。 –

2

はい、できます。私はWav/Au Flash Playerを作っています。これはストリームwavをG.711またはPCMでエンコードしたもので、ビット長とサンプラートで再生できます。 はここで、GPLv2の下でライセンス:http://blog.datacompboy.ru/2009/10/15/wav-au-flash-player/ここ

+1

この投稿について何か教えてください。私は約1時間を探していました。普遍的な解決策を見つけるのはかなり難しいです。私はこれを忘れないでください。ブラウザの互換性と最小限の負荷で、あなたのウェブページ上の小さな小さなサウンドクリップを再生する必要があります。あなたが期待しているものを正確にテストして埋め込むのは簡単です。gitコードのスナップショットを取得します。http://git.datacompboy.ru/?p=WavPlayer.git;a=snapshot;h=b24cc6500058ec35c95953095c797865488416dd;sf=tgzその後、web dirを入力します。サウンドレコーダーでgsmでエンコードされたWAVを作成し、tinyembed.htmlと同じディレクトリに入れてください。 – PatlaDJ

9

ロードとオープンソースpopforgeライブラリを使用したフラッシュ内のURLからWAVファイルを再生するための単純なクラス:http://code.google.com/p/popforge/

歓声を!

public class WavURLPlayer 
    { 


     public static function PlayWavFromURL(wavurl:String):void 
     { 
     var urlLoader:URLLoader = new URLLoader(); 
     urlLoader.dataFormat = URLLoaderDataFormat.BINARY; 
     urlLoader.addEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onLoaderIOError); 

     var urlRequest:URLRequest = new URLRequest(wavurl); 

     urlLoader.load(urlRequest); 
     } 

     private static function onLoaderComplete(e:Event):void 
     { 
     var urlLoader:URLLoader = e.target as URLLoader; 
     urlLoader.removeEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoaderIOError); 

     var wavformat:WavFormat = WavFormat.decode(urlLoader.data); 

     SoundFactory.fromArray(wavformat.samples, wavformat.channels, wavformat.bits, wavformat.rate, onSoundFactoryComplete); 
     } 

     private static function onLoaderIOError(e:IOErrorEvent):void 
     { 
     var urlLoader:URLLoader = e.target as URLLoader; 
     urlLoader.removeEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoaderIOError); 

     trace("error loading sound"); 

     } 

     private static function onSoundFactoryComplete(sound:Sound):void 
     { 
     sound.play(); 
     } 


} 
+3

URLから.wavの読み込み/再生を実行する際に、これが本当に受け入れられる回答になるはずです。受け入れられた答えは、SoundクラスがURLからの.wavの読み込みをサポートしていないことを指摘しています。 – prototypical

0

Flash自体は.wavファイルの再生をサポートしていません。 Flash/Flex Builderは、スクリプト内で再生できるサウンドオブジェクトに直接コンパイルしますが、外部の.wavサウンドでは、Flash SDKが役に立ちません。

自分で.wavデータを読んで、Flashを再生する必要があります。これを行うためのサードパーティのライブラリがいくつかあります。あなたのwavファイルがでエンコードされたどのようなコーデック

http://active.tutsplus.com/tutorials/media/quick-tip-play-external-wav-files-in-as3/