5月 31, 2006

簡易的在視訊檔案(flv)上加字幕

      之前,在flash裡插入視訊的作法通常是匯到影格中配字幕也很方便
,不過最大的問題就是有時候影音會不同步,從flv檔出來後就不用那麼
麻煩了,把影片轉成flv再從外部呼叫即可,界面和影片可以分離實在很
方便。不過掛字幕的便利性就差了點。在flash8中有提供cutepoint這個功
能,可以讓影片播放到某個時間點的時候觸發actionscript,網路上在flv檔
掛字幕檔的方法通常是把字幕寫到XML檔裡面,影片播放的時候載入xml
檔。不過我這次要掛字幕的影片只有一分鐘,所以就不那麼麻煩了。

step1::檔案>匯入視訊,在場景上加入動態文字框(顯示台詞)
step2::點擊在場景裡的影片檔,然後視窗>屬性>參數
step3::在列表中選擇cutePoints,選最後面的放大鏡
step4::在名稱的地方打上台詞,時間為show台詞的時間

step5:
在第一個影格加上以下的ActionScript

var my_flvPb:mx.video.FLVPlayback;
var listenerObject:Object = new Object();
listenerObject.cuePoint = function(eventObject:Object)
{
dantxt.text= eventObject.info.name
//dantxt為動態文字框的name
};
my_flvPb.addEventListener("cuePoint",listenerObject);
//my_flvPb為影片檔的name

5月 26, 2006

偵測MediaPlayer播放結束

建立MediaPlayer的object
偵測播放結束
  

5月 13, 2006

用JavaScript呼叫Flash中的function

JS和AS互動有很多的方法,例如Fscommand...etc,但在flash8中提供了ExternalInterface這個好用的API,讓JS與AS的互動更簡單。以下為範例:

JavaScript:




ActionScript:
  
//寫在影格1
stop();
import flash.external.ExternalInterface;

ExternalInterface.addCallback("getFlashInfo",this,getFlashInfo);

function getFlashInfo():Object {
_root.nextFrame();//往下跳一個影格
return
}



因為flash8安全性(flash不能存取本機物件)的關係,測試時請傳到伺服器上(遠端或本地端)測試,直接click是不會有結果的。

參考網址:http://www.communitymx.com/content/article.cfm?page=1&cid=0922A

5月 02, 2006

從Flash中呼叫Javascript的兩個方式

兩個方法還蠻普遍的,應該很多人都知道
1.由Fscommand呼叫 2.以Geturl的方式連結

一、Fscommand

AS部份:

_root.test_btn.onRelease = function(){
fscommand("messagebox","just test for fscommand");
}

Javascript部份:
<script>
function CallJs_DoFSCommand(command, args) {
         if(command =="messagebox"){
         alert(args);
        }
}
</script>
<SCRIPT LANGUAGE="VBScript">
Sub CallJs_FSCommand(ByVal command, ByVal args)
call CallJs_DoFSCommand(command, args)
end sub
<script>
要注意CallJs_DoFSCommand(command, args)這段前面的名稱CallJs是跟swf檔名走的,發佈時就會產生(發佈時html選"包含FScommand的flash")

二、GetUrl

AS:

on(release){
getURL("javascript:gogo()")
}

Javascript:

function gogo()
{
alert("got it");
}

值得注意的是在Flash8中訂定了許多新的安全機制,直接照上面兩個方法做瀏覽器不會有反應,在Macromedia的官方網站有提供他們安全機制的說明書,有興趣請至http://www.macromedia.com參考,否則就只能在發佈的時候選擇flash7的版本發佈。