2013-10-15 55 views
2

我有幾個關於Android和SCORM的問題。在這兩個領域我都很新,我只花了一個晚上在網上尋找一些答案。在Android設備上播放SCORM

我發現的主題是關於使SCORM包與LMS同步,但我不需要那個。我只是想知道如何在Android設備上播放(並且只是播放,無需任何同步或跟蹤)SCORM包(帶有Android 4+ OS的聯想平板電腦)。如果我嘗試製作允許瀏覽本地SCORM軟件包的自己的應用程序,我能否通過使用WebView組件啓動SCORM?

我發現這個教程:

http://support.scorm.com/entries/21826060-RSOfflinePlayer-Developer-Tutorial

其中有部分:

播放內容和同步結果

在那裏我發現了一些有趣的源代碼關於 配置此WebView組件以播放SCORM內容,但我不確定是否需要RSOfflinePlayer.jar。

我也聽說過,如果設備支持Flash,我將能夠使用瀏覽器啓動SCORM - 是真的嗎?

也許你知道一些應用程序可以做到這一點?或者可以幫助的圖書館?

是否有任何人在經歷:
1)的Java SCORM API:

將粘貼URL,但我需要更多的聲譽

2)席琳

https://code.google.com/p/celine-scorm/

任何幫助都將被認可,不僅是我,還有不同種類疾病的孩子(我們只是試圖幫助他們的學生)。

回答

3

哈維爾幾乎是正確的。我會盡力再解釋一遍。也許你會從中收集更多的信息。

每個SCO基本上都是一個壓縮的網頁。你必須解壓縮並查找imsmanifest.xml,找到那裏的初始文件(index.html,player.html,像這樣)。它不會位於資源下。你首先必須看Organizations > Organization > Item > Identifierref,它會給你一個ID。那麼你必須看看Resources > Resource with the above ID > href的值。這是你正在尋找的文件。

示例(index.html的是你需要的文件):

<organizations default="someorg"> 
    <organization identifier="someorg"> 
    <title>Some Title</title> 
    <item identifier="CourseItem01" identifierref="SCO_Resource_01" isvisible="true"> 
     <title>SCO Title Here</title> 
    </item> 
    </organization> 
</organizations> 
... 
... 
<resources> 
    <resource identifier="SCO_Resource_01" type="webcontent" adlcp:scormtype="sco" href="index.html"> 
    <file href="index.html"/> 
    <file href="SCORM_API_wrapper.js"/> 
... 

一旦你發現了它,只是打開網頁視圖它,它會嘗試連接到SCORM API中的父窗口。你必須提供一些虛擬函數來欺騙它,認爲它確實連接到LMS並繼續進行。否則,它會失敗或向您發出警報。

+0

感謝您的回答(這非常受歡迎的問題,所以非常感謝)。我有一個問題,但我需要安裝任何Flash播放器?它是否依賴於軟件包 - 有些需要,有些則不需要?無論如何,現在我至少可以開始在這個項目上工作,因爲我今天得到了設備;-) –

+0

scorm包只不過是一個壓縮的網頁,所以是的,它取決於網頁。它可能需要或不需要Flash,Java,Silverlight,你有什麼。 大多數當前scorm創作工具都會生成html5輸出,而大多數較舊的工具確實使用Flash播放內容。 –

3

我沒有任何Android體驗,但我有一些與SCORM合作的經驗。

要播放SCORM對象,您需要在正確的環境中打開正確的文件,正確的文件在imsmanifest.xml文件中陳述,它始終位於zip包的頂層,您必須看這樣的事情:

<resources> 
    <resource identifier="546468" type="webcontent" href="index.htm" adlcp:scormtype="sco"> 
    <file href="index.htm" /> 
    </resource> 
</resources> 

這意味着你必須在頂層打開index.htm的,一般你必須尋找與adlcp第一資源:scormtype =「上海合作組織」(如果你需要更多細節,請閱讀SCORM規範)。

當這個頁面加載時,它會尋找API對象,它必須是在父窗口,或父框架,您將需要一個虛擬SCORM API,是這樣的:

function ScormAPIClass() 
{ 
    this.GetLastError = function(){return 0}; 
    this.GetErrorString = function (param){return ""}; 
    this.GetDiagnostic = function (param){return ""}; 
    this.SetValue = function (element, value){ 
               //you need something else here 
               return true}; 
    this.GetValue = this.SetValue = function (element){ 
                 //you need something else here 
                 return true}; 
    this.Initialize = function (param){return true};; 
    this.Terminate = function (param){return true}; 
    this.Commit = function (param){return true};; 
    this.version = "1.0"; 
} 


window.API_1484_11 = new ScormAPIClass(); 

的SCORM對象會假設你的API工作,所以,如果set和get函數不是真實的,這可能會根據對象邏輯產生錯誤。 另外,我沒有測試的代碼,只是給你一個你需要什麼的想法。

我希望這對你有所幫助。

+0

感謝您的迴應,它確實有助於理解SCORM的基本知識。只要我拿到這個設備,我就開始研究這個設備,我將分享結果。 –

+0

我很抱歉愚蠢的評論,但任何人都可以請給我鏈接下載RSOfflinePlayer.jar。谷歌讓我什麼也沒有 – meaholik

2
  1. 首先你要了解Scorm的結構。

  2. 您可以看到Scorm包是一個zip文件,其中包含幾個文件夾和一個清單文件。

  3. 首先,你必須解壓縮Scorm的壓縮包,然後你必須解析imsmanifest.xml文件並維護兩個包含與該標題相對應的html文件的標題和其他地址的列表。

  4. 我已經使用sax2r2解析器來解析該清單文件,並得到兩個數組列表,其中包含html文件的標題和其他地址。

  5. 後來你只需填寫你的IOS列表中的titles數組,並且當用戶點擊該列表的任何標題時,獲取列表的位置並從地址數組列表中檢索與該標題相對應的html文件的地址。

  6. 終於可以在你的IOS的webview中打開html文件了,確保啓用了開放scorm html5文件所需的參數。

在android中,我已經啓用並設置了這些值,這是java代碼,但它可能會幫助你。

WebViewClient webViewClient = new WebViewClient(); 
    webView.setWebViewClient(webViewClient); 
    webView.clearCache(true); 
    webView.getSettings().setUseWideViewPort(true); 
    webView.setInitialScale(1); 
    webView.getSettings().setBuiltInZoomControls(true); 
    webView.clearHistory(); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setDomStorageEnabled(true); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON); 
    webView.getSettings().setLoadWithOverviewMode(true); 
    webView.getSettings().setUseWideViewPort(true); 
    webView.getSettings().setPluginState(PluginState.ON); 
    webView.loadUrl("file://" + open_scorm.scorm_path 
      + open_scorm.scorm_name + "/" + open_scorm.href.get(0)); 

Webview是用於打開Android的HTML/HTML5文件,我在上面Android設置已經啓用,這些設置在默認情況下在Android中,可在IOS,你只需要加載HTML文件,DNT有啓用所有這些值。

在上面你可以看到我正在檢索scorm的第一個html5文件href.get(0)。

簡而言之,您只需解壓縮scorm,解析imsmanifest.xml文件並獲取它的數據並使用它打開/解析scorm。

相關問題