Re: [問題] 沒有聲音檔 可以發出聲音嗎?

看板Flash作者 (小犬)時間16年前 (2009/10/15 12:37), 編輯推噓7(705)
留言12則, 4人參與, 最新討論串3/3 (看更多)
用 Flex SDK 檢查過了,找出了一些問題 * 首先,請在編譯 SWF 時將版本設成 Flash Player 10 這應該是造成編譯錯誤的主因 (也因此要小心,在你使用你的成果 SWF 在 HTML 頁面時 要用類似 SWFObject 的函式庫來檢查 Flash 版本) * 再來 Flash Player 10 正式版又改了一堆東西 Orz ※ 引述《hirabbitt (兔子)》之銘言: : 原始檔來了 : 幾乎都照著影片上的寫 : sd.as檔 : package{ : import flash.display.*; : import flash.events.*; : import flash.media.*; : public class sd extends Sprite{ : private var s:Sound; : private var n:Number=0; : public function sd():void{ : s=new sound(); : s.addEventListener(Event.SAMPLES_CALLBACK, onCallback); ↑改 SampleDataEvent.SAMPLE_DATA : s.play(); : } : private function onCallback(e:SampleDataEvent):void{ : n = 440; : s.samplesCallbackData.writeFloat(); : s.samplesCallbackData.writeFloat(); ↑改e.data.writeFloat(); : } : } : } : RD.fla檔 : 其中有個b1的按鈕 : import sd; : root.addEventListener(MouseEvent.CLICK,sd.sd); : b1.addEventListener(MouseEvent.CLICK,sd.sd()); 如果你需要用按鈕觸動的方式的話,我會覺得: * sd 應該不需要 extends Sprite(因為你不需要一塊Sprite空間來放吧?) * 你會需要有方法控制音效「停下來」,而應該是這樣作 首先在 sd 加上 private var channel:SoundChannel; 然後 s.play(); 改成 channel = s.play(); 當你想要停下來(ex: setTimeout一段時間)時就呼叫 channel.stop(); 參考的例子 http://bit.ly/2T0XaT (其實我也是看了手冊才知道的 XD) 而當你需要 Sound 的時候我會這樣寫: b1.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void { var mysnd:sd = new sd(); // 這樣就會發出你想要的聲音了 } ); Function 可以分出來放,我只是 jQuery 中毒了而已 囧 : 編譯RD.fla檔的錯誤訊息 : sd.as,字行14 1046: 找不到 Type,或它不是編譯時期常數:SampleDataEvent。 : 這樣...謝謝ˊˋ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84 ※ 編輯: ybite 來自: 140.112.30.84 (10/15 12:43)

10/15 12:57, , 1F
感謝 研究中
10/15 12:57, 1F

10/15 14:03, , 2F
編譯的版本要在哪邊調啊? 我的是flash cs3
10/15 14:03, 2F

10/15 17:34, , 3F
er...你用CS3的話就沒輒了
10/15 17:34, 3F

10/15 17:34, , 4F
檔案 > 發佈設定,按「Flash」頁籤,版本選Flash Player 10
10/15 17:34, 4F

10/15 17:34, , 5F
要用CS4或者Flex SDK + 版本設為FP10
10/15 17:34, 5F

10/15 17:35, , 6F
等等,對,CS3只能編到Flash 9 Orz;CS4才能編到Flash 10 囧
10/15 17:35, 6F

10/15 17:42, , 7F
這是說...CS3過時了嗎?...看來要準備換版了
10/15 17:42, 7F

10/15 17:58, , 8F
CS3並沒有過時...只是有些功能FP10才有而已
10/15 17:58, 8F

10/15 17:59, , 9F
我平常開發AS還是開發FP9的project
10/15 17:59, 9F

10/16 17:43, , 10F
所以說f9之前其實是沒辦法做到發聲的嘍?
10/16 17:43, 10F

10/16 17:49, , 11F
是的
10/16 17:49, 11F

10/16 20:51, , 12F
這樣啊 謝謝你
10/16 20:51, 12F
文章代碼(AID): #1ArgSQ8I (Flash)
文章代碼(AID): #1ArgSQ8I (Flash)