全志R11_tinav2.5_tplayer播放器介面說明書(SDK)

SZX511發表於2019-06-05

此文件說明在 tina2.5 平臺,如何使用 TPlayer 的介面來開發播放器應用程式,方便播放器開發人員快速正確地開發。

2. TPlayer 狀態圖及狀態說明
2.1. TPlayer 狀態圖


這張狀態轉換圖清晰地描述了 TPlayer 的各個狀態,也列舉了主要的方法的呼叫時序,每種方法只能在一些特定的狀態下使用,否則會出錯。

另外,只有在 Prepared、Started、Paused、PlaybackCompleted 這四種狀態下可以進行 TPlayerSeekTo()操作,並且 TPlayerSeekTo()之後,狀態不變。

2.2. TPlayer 每個狀態簡要說明
2.2.1. Idle 狀態
Idle 狀態:當呼叫 TPlayerCreate()建立一個 TPlayer 或者呼叫了其 TPlayerReset()方法時,TPlayer 處於idle 狀態。

2.2.2. Initialized 狀態
這個狀態比較簡單,呼叫 TPlayerSetDataSource()方法就進入 Initialized 狀態,表示此時要播放的檔案已經設定好了。

2.2.3. Preparing 狀態

這個狀態比較好理解,主要是和 TPlayerPrepareAsync()配合,如果非同步準備完成,會透過這個TPLAYER_NOTIFY_PREPARED 訊息回撥上來,進而進入 Prepared 狀態

2.2.4. Prepared 狀態
初始化完成之後還需要透過呼叫 TPlayerPrepare()或 TPlayerPrepareAsync()方法,這兩個方法一個是同步的一個是非同步的,只有進入 Prepared 狀態,才表明 TPlayer 到目前為止都沒有錯誤,可以進行檔案播放。

2.2.5. Started 狀態
TPlayer 一旦準備好,就可以呼叫 TPlayerStart()方法,這樣 TPlayer 就處於 Started 狀態,這表明 TPlayer正在播放檔案過程中。可以使用 TPlayerIsPlaying()測試 TPlayer 是否處於了 Started 狀態。如果播放完畢,而又設定了迴圈播放,則 TPlayer 仍然會處於 Started 狀態。

2.2.6. Paused 狀態
Started 狀態下可以呼叫 TPlayerPause()方法暫停 TPlayer,從而進入 Paused 狀態,TPlayer 暫停後再次呼叫 TPlayerStart()則可以繼續 TPlayer 的播放,轉到 Started 狀態。

2.2.7. Stopped 狀態
Started 或者 Paused 狀態下均可呼叫 TPlayerStop()停止 TPlayer,而處於 Stop 狀態的 TPlayer 要想重新播放,需要透過 TPlayerPrepareAsync()和 TPlayerPrepare()回到先前的 Prepared 狀態重新開始才可以

2.2.8. PlaybackCompleted 狀態
文 件 正 常 播 放 完 畢 , 而 又 沒 有 設 置 循 環 播 放 的 話 就 進 入 該 狀 態 , 並 且 會 通 過TPLAYER_NOTIFY_PLAYBACK_COMPLETE 這個訊息回撥給應用。此時可以呼叫 TPlayerStart()方法重新從頭播放檔案,也可以 TPlayerStop()停止 TPlayer,或者也可以 TPlayerSeekTo()來重新定位播放位置。

2.2.9. Error 狀態
由於某種原因TPlayer出現了錯誤,就會進入該狀態,並且會透過TPLAYER_NOTIFY_MEDIA_ERROR這個訊息回撥給應用。如果TPlayer 進入了 Error 狀態,可以透過呼叫 TPlayerReset()來恢復,使得 TPlayer重新返回到 Idle 狀態。

2.2.10. End 狀態
透過 TPlayerDestroy()的方法可以進入 End 狀態,只要 TPlayer 不再被使用,就應當儘快將其 destroy掉。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529038/viewspace-2646796/,如需轉載,請註明出處,否則將追究法律責任。

相關文章