2011-01-14 78 views
4

在動作腳本,我需要不支持採樣的Flex /動作

Loading configuration file /opt/flex/frameworks/flex-config.xml 
    t3.mxml(10): Error: unsupported sampling rate (24000Hz) 

     [Embed(source="music.mp3")] 

    t3.mxml(10): Error: Unable to transcode music.mp3. 

     [Embed(source="music.mp3")] 

的代碼是

  <?xml version="1.0"?> 
    <!-- embed/EmbedSound.mxml --> 
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 

    <mx:Script> 
    <![CDATA[ 

     import flash.media.*; 

     [Embed(source="sample.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(); 
     } 
    ]]> 
</mx:Script> 

<mx:HBox> 
    <mx:Button label="play" click="playSound();"/> 
    <mx:Button label="stop" click="stopSound();"/> 
</mx:HBox> 
</mx:Application> 

回答

9

livedocs

「Flash可以導入8位或16位以11,22或44 kHz的採樣率發出聲音。以非11 kHz(如8,32或96 kHz)倍頻格式錄製的聲音在導入到F1時被重新採樣灰。 Flash可以聲音轉換成較低的採樣率對出口。」

的Flex Builder,所以你需要下采樣不會爲你做‘使用它之前手動的music.mp3’文件到22kHz的。

編輯: 我無法找到正確的文件,但here它說:

「的聲音採樣率 - 赫茲(Hz),當聲音文件第一次記錄,而Flash SWF文件只允許四種費率,這是固定的。

的Flash的SWF格式具有的採樣率:

5500赫茲

11025赫茲

22050赫茲

44100赫茲(首選設置)」

+0

雅謝謝我轉換我的MP3到11025赫茲採樣率,然後編譯 – Rajeev 2011-01-14 17:56:18