Android JetPlayer實例
Android平台包括JET引擎,可以在應用程序中添加JET音頻內容的交互播放。 Android提供JetPlayer類來處理這些東西。
為了使用Jet內容,需要使用JetCreator工具自帶的AndroidSDK。 jetCreator的使用已在實例中進行了討論。以起到由JetCreator創建的內容,則需要通過的Android支持JetPlayer類。
為了使用JetPlayer,需要實例JetPlayer類的一個對象。它的語法如下:
JetPlayer jetPlayer = JetPlayer.getJetPlayer();
需要做的下一件事就是調用loadJetFile方法和傳遞Jet文件的路徑。之後,必須添加到JetPlayer隊列。它的語法如下:
jetPlayer.loadJetFile("/sdcard/level1.jet"); byte segmentId = 0; // queue segment 5, repeat once, use General MIDI, transpose by -1 octave jetPlayer.queueJetSegment(5, -1, 1, -1, 0, segmentId++);
該方法queueJetSegment隊列在JET隊列指定段。最後一件事是調用play方法來開始播放音樂。它的語法如下:
jetPlayer.play();
除了這些方法,也有在JetPlayer類中定義的其他方法。它們被定義如下:
Sr.No | 方法及說明 |
---|---|
1 |
clearQueue() 清空段隊列,並清除預定播放的所有剪輯 |
2 |
closeJetFile() 關閉包含內容JET資源 |
3 |
getJetPlayer() JetPlayer類的工廠方法 |
4 |
loadJetFile(String path) 從給定路徑加載.jet文件 |
5 |
pause() 暫停JET段隊列的回放 |
6 |
release() 停止當前播放JET,並釋放所有相關的本地資源 |
例子
下麵的例子演示了使用JetCreator工具來創建Jet內容。創建的內容之後可以通過JetPlayer播放
為了試驗這個例子,需要在實際設備或模擬器運行此程序
Steps | 描述 |
---|---|
1 | 使用Android Studio創建Android應用程序,並將其命名為JetPlayer。在創建這個項目,確保目標SDK並編譯在Android SDK的最新版本或使用更高級彆的API。 |
2 | 從互聯網下載並在計算機上安裝Python和wxPython |
3 | 提示符下運行 jet creator 命令 |
4 | 創建Jet內容,然後將其保存 |
5 | 運行應用程序並驗證結果 |
使用JetCreator
安裝PYTHON
需要使用JetCreator第一步是安裝Python。Python可以從它的官方網站點擊這裡或在互聯網上其他的地方下載安裝。
請記住python版本號應該是2.6或2.7。
下載 Python 安裝後,必須設置Python的路徑。打開命令提示符然後輸出以下命令。它顯示如下圖所示:
路徑設置之後,可以通過輸入入python驗證它,並按下回車鍵。它如下所示:
安裝WXPYTHON
需要做的下一件事就是安裝wxPython,下載完成後安裝它。它會自動安裝在Python目錄。
運行JETCREATOR
需要接下來的事情就是移動到JetCreator存在的路徑。它是在Android的工具,SDK文件夾。它如下所示:
在文件夾中鍵入以下命令並回車。
python JetCreator.py
它顯示如下圖:
當按下回車鍵,Jet Creator 主窗口將打開如下所示:
創建JETCONTENT
在上麵Jet 窗口,點擊導入按鈕。並從在Jet文件夾中的內容的演示文件夾中的JetFolder選擇JetCreator_demo_1或2。這顯示如下圖:
輸入的內容後,會看到在JetCreator窗口中的內容。它如下所示:
現在,可以通過這裡訪問JetCreator鏈接探索JetCreator不同的選擇。最後創建.jet文件,需要從文件菜單中的內容保存。
驗證結果
得到jet文件之後,可以使用 jet 播放器播放。它的主代碼給出如下:
JetPlayer jetPlayer = JetPlayer.getJetPlayer(); jetPlayer.loadJetFile("/sdcard/level1.jet"); byte segmentId = 0; // queue segment 5, repeat once, use General MIDI, transpose by -1 octave jetPlayer.queueJetSegment(5, -1, 1, -1, 0, segmentId++); jetPlayer.play();