Flash Media Server 上會執行兩個應用程式:
這兩個應用程式都是使用相同的預設伺服器端 ActionScript 檔案 main.asc 執行的。
當您開發任何 Flash Media Server 應用程式時, 從伺服器端 ActionScript 著手會最簡單。這是因為您可以使用追蹤陳述式來除錯和模擬用戶端動作。這不但可以縮短開發時間, 也可避免後來的麻煩。
您可能會發現 FileObj 資料夾中的 main.asc 還有額外的函數。請注意, 伺服器端的 ActionScript 要比這個應用程式所需的來得多。這是要用來處理熟悉架構或 API 中的所有檔案存取指令。我希望您會覺得下面的程式碼實用, 並可改寫為未來使用的檔案存取函數。
讓我們來看看這個檔案中的幾個重要函數。
this.myFile = new File(name);
這個建構指令會建立檔案類別的執行個體, 即物件 myFile。變數和名稱可以是檔案或目錄。在本範例中, 您會將別名目錄傳遞到此處, 以蒐集目錄的相關資訊 (預設為 approot)。
var dirList = this.myFile.list(filter);
這是用戶端資料表格取得資訊的來源清單函數。這個清單方法會傳回陣列, 其中的每個元素代表目錄中的每個檔案。您可以使用下面的篩選函數來進一步篩選:
function filter(name)
{
if ( name.lastIndexOf( ".flv") != -1 || name.lastIndexOf(".mp3") != -1){
return true;
}
return false;
}
比方說, 如果您想以此為基礎, 但只要顯示 JPEG 影像, 就可以使用這個篩選和清單指令來控制傳送到用戶端的內容。
以下將簡短說明這個 main.asc 檔中的其他函數, 方便您改寫並用於「檔案物件」所建立的其他應用程式。如需這些函數的更多詳細資訊, 請參閱 Flash Media Server LiveDocs, 其中涵蓋每一個函數的仔細說明。
以下是其他「檔案物件」函數的簡短說明:
當使用 Flash Professional 8 中的 FLVPlayback 元件串流時, 最常見的錯誤就是忘了把 main.asc 檔加入串流 Flash Media Server 視訊目錄。因此, 我將這個檔案加到套件中, 以避免再發生這個問題。