首頁  >  文章  >  後端開發  >  C#實現網路電子白板、課件功能 (線上教學系統)

C#實現網路電子白板、課件功能 (線上教學系統)

little bottle
little bottle轉載
2019-04-10 10:15:043910瀏覽

現今,隨著網路科技的高速發展,線上教學也非常火熱,而電子白板和課件功能便是是線上教學系統中的必備功能,本文就介紹如何基於OMCS快速實現電子白板的基礎功能,以及課件功能:上傳課件、開啟課件、課件翻頁、課件同步、刪除課件等進階功能。

       本文的應用場景是這樣的: 一個老師和N個學生進入同一個教室,所以,它們將會看到同一個電子白板。而老師角色與學生角色的差別在於老師有特殊的白板權限,這些權限包括:上傳課件、打開課件、刪除課件,在白板上繪圖、標註、翻頁等等。

一.服務端

        服務端直接將 OMCS.Boost 提供的OMCS.Server專案原始碼搬過來,不用作任何修改。

二.客戶端

1. 實現課件到圖片的轉換

        白板課件最常見的類型為:word、pdf、ppt文件。所以,首先,我們需要實作IImageConverter接口,將pdf、ppt、word文件轉換成圖片。與之對應,我們設計了三個類別:Word2ImageConverter、Pdf2ImageConverter、Ppt2ImageConverter。關於它們的具體實現代碼可在Demo的源碼中查看。

        然後,我們要實作IImageConverterFactory工廠介面:


    public class ImageConverterFactory : IImageConverterFactory
    {        public IImageConverter CreateImageConverter(string extendName)
        {            if (extendName == ".doc" || extendName == ".docx")
            {                return new Word2ImageConverter();
            }            if (extendName == ".pdf")
            {                return new Pdf2ImageConverter();
            }            if (extendName == ".ppt" || extendName == ".pptx")
            {                return new Ppt2ImageConverter();
            }            return null;
        }        public bool Support(string extendName)
        {            
return extendName == ".doc" || extendName == ".docx" || extendName == ".pdf" || extendName == ".ppt" || extendName == ".pptx";
        }
    }

##

    IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton();
    multimediaManager.ImageConverterFactory = new ImageConverterFactory();
    // 图片转换器工厂,供OMCS内部将课件转换成图片的过程中使用。


#        然後,在程式啟動時,將工廠注入到OMCS的多媒體管理器(IMultimediaManager)中:


     public WhiteBoardForm(string classRid, bool isTeacher )
    {
        InitializeComponent();            
           
        this.classRoomID = classRid;        
        this.whiteBoardConnector1.IsManager = isTeacher;        
        this.whiteBoardConnector1.WatchingOnly = !isTeacher;        
        this.Text = string.Format("正在访问{0}的电子白板" ,this.classRoomID);        
        this.whiteBoardConnector1.ConnectEnded += new CbGeneric7bbd801570934dd5b105aa5e8751cf99(whiteBoardConnector1_ConnectEnded);           
        this.whiteBoardConnector1.BeginConnect(this.classRoomID);            
    }

2.登錄時區分角色:老師、學生

###        客戶端登錄界面設計如下所示:######        #########依選取角色的不同,進入白板時,所擁有的權限不一樣,主要體現在白板連接器的兩個屬性設定:############rrreee###      IsManager 屬性用於控制是否有權限上傳課件、開啟課件、刪除課件等。 ######      WatchingOnly 屬性用於控制使用者是否可以在白板上繪製影像等操作。 ######      在本Demo中,我們這樣設定的效果是,老師可以操作課件,並且可以在白板上繪圖、書寫等,但是學生只能觀看白板,不能進行任何操作。 ###

 三.下載

      原始碼:OMCS.Demos.WhiteBoardTest.rar  

      執行系統測試時,請注意:

#      執行系統進行測試時,請注意:

##(1)啟動OMCS服務端。

(2)啟動第一個客戶端,選擇「老師」角色,登入預設教室。

(3)再啟動多個客戶端,選擇「學生」角色,登入預設教室。

(4)老師即可進行上傳課件、打開課件、刪除課件、課件翻頁,在課件上標註、書寫,等等操作。

      老師端界面如下所示:

       

【推薦課程:

C#視頻教程

#########

以上是C#實現網路電子白板、課件功能 (線上教學系統)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除