Re: [問題] 沒有聲音檔 可以發出聲音嗎?
用 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
10/15 14:03, 2F
推
10/15 17:34, , 3F
10/15 17:34, 3F
→
10/15 17:34, , 4F
10/15 17:34, 4F
→
10/15 17:34, , 5F
10/15 17:34, 5F
→
10/15 17:35, , 6F
10/15 17:35, 6F
推
10/15 17:42, , 7F
10/15 17:42, 7F
推
10/15 17:58, , 8F
10/15 17:58, 8F
→
10/15 17:59, , 9F
10/15 17:59, 9F
推
10/16 17:43, , 10F
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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):