【專題簡介與環境介紹】    【系統功能一覽】    【系統架構說明】

 

系統架構

線上KTV系統的整體程式組成架構分述如下:  

整體架構

                       26  線上KTV系統架構圖

 

使用者介面部分全部由動態網頁所構成(PHP+Mysql),會選擇用網頁來做介面的原因很多,包括遊覽方便,版面設計容易且能堅固美觀….等。使用者操控網頁並透過Java Applet程式與其他程式做溝通。

後端的PHP Socket和Java Application是為了讓開包廂的Master能夠傳送現在要點播的歌名給所有在包廂中的使用者。而利用Windows Media Encoder即時傳送的聲音會經由別位使用者的Media Player接受。

Java Media Frame則是專門拿來錄音用的,並可以將錄好音的個人化歌曲透過E-mail送給親朋好友。

 

多人包廂:

   

    多人虛擬包廂是整個KTV系統中最難的一部份,除了要做到即時傳聲音之外,還要能讓所有的電腦都知道現在該下載那首歌,並且要達成聲音跟影像的同步,是我們花最多心思在規劃的地方,圖27是包廂如何運作的示意圖。Master跟Slave彼此之間除了用資料庫同時做初始化之外,還必須用額外的Socket隨時做溝通。其使用者操作流程如圖28所示。

                                       28 多人包廂操作流程圖

資料庫 :

    後端的資料庫除了要紀錄使用者的資料及動作之外,同時還儲存所有功能的各種設定,並透過網頁讀出後和其他程式做溝通,傳遞資料,最後再由網頁寫入,是整個線上KTV系統中的核心。其關聯性資料表如下圖所示:

                        圖29 database關聯表