2013-04-04 83 views

回答

4

由於法說

prepareToPlay - 不打首發,但它是在過程中進行播放任何(視頻/音頻)

play - 說這是做字符串播放任何(視頻/音頻)

的文件說:

發揮

當前項目的創始播放。 (必需)

- (void)play 

討論
如果回放先前暫停,該方法繼續播放它離開的地方;否則,此方法從頭開始播放第一個可用項目 。

如果電話播放器在您撥打 方法時未準備好播放,則此方法首先準備好電影播放器​​,然後啓動 播放。要最大限度地縮短播放延遲,請在調用此方法之前調用prepareToPlay方法 。

要在電影播放器​​準備播放時收到通知,請註冊 MPMoviePlayerLoadStateDidChangeNotification通知。然後您可以通過訪問電影播放器​​的loadState屬性來檢查加載狀態 。

Availability在iOS 3.2及更高版本中提供。宣佈 MPMediaPlayback.h

prepareToPlay

準備播放的電影播放器​​。 (必填)

- (void)prepareToPlay 

討論
如果一個電影播放器​​是不是已經準備好打的時候你 調用play方法,該方法會自動調用此方法。 但是,爲了儘量減少播放延遲,請在致電 播放之前調用此方法。

調用此方法可能會中斷電影播放器​​的音頻會話。 有關中斷以及如何適應它們的信息,請參閱音頻 會話編程指南。

Availability在iOS 3.2及更高版本中提供。

宣佈MPMediaPlayback.h

更多信息read This Official Documentation.

+2

但在這兩種情況下視頻播放。 視頻可以在兩種語法中播放...... – Myaaoonn 2013-04-04 12:10:49

+0

如果您複製並過去了文檔的各個部分,爲什麼不在其中添加一些額外的功能並將鏈接添加到該文檔中呢? – vikingosegundo 2013-04-04 12:30:08

+4

@Myaaoonn我有同樣的問題,看起來像一個'prepareToPlay'自動播放本地內容的錯誤。我通過將'shouldAutoplay'設置爲'NO'來解決它。 – yonilevy 2014-03-29 14:08:46

1

prepareToPlay

準備的電影播放器​​進行播放。 (必填)如果電影播放器​​ 在您調用播放方法時尚未準備播放,則該 方法會自動調用此方法。但是,要延遲播放時間,請在調用播放之前調用此方法。

發揮當前項目的

同修播放。 (必填)如果以前暫停的播放爲 ,則此方法會在停止播放的位置繼續播放; 否則,此方法播放第一個可用項目,從 開始。如果您在調用此方法時沒有準備好播放電影播放器​​,則此方法首先準備好電影播放器​​,然後開始播放 。要最大限度地減少播放延遲,請在調用此方法之前調用prepareToPlay 方法。

請訪問MPMediaPlayback Protocol Reference

2

要通過執行耗時的操作的前期減少播放延遲。

爲了播放多媒體文件,例如QuickTime電影,在文件實際播放之前,需要進行不平凡的加載和處理。分開使用playprepareToPlay方法允許開發人員選擇何時可能執行涉及回放的昂貴操作,以最小化當用戶實際按下播放按鈕時的延遲。

例如,標題需要被讀取和解析,並提取元數據。可能需要讀取章節索引,並且播放器可能需要查找文件末尾以讀取塊偏​​移表,讀取縮略圖,海報幀等等。此外,爲了在用戶按下播放時啓用快速播放,系統可能希望加載,解壓並緩存第一秒左右的音頻和視頻內容。所有這些都會花費大量的時間,並且將由prepareToPlayback方法執行。

鑑於上述情況,play方法可以在用戶提名時立即開始播放多媒體內容。顯然,如果媒體尚未準備好,系統會在play開始時爲您撥打prepareForPlayback進行必要的準備。

例如,在您的應用程序中,用戶可能會一步選擇多媒體剪輯。您可以立即致電prepareToPlay,並在預覽窗口中顯示海報框​​。然後,當用戶按下Play>按鈕時,內容已準備就緒。

在模擬世界中,一種簡單的並行可能類似於將磁帶穿入卷軸,卷繞卷軸並預拉伸磁帶,將磁頭定位在內容的開始處。然後當您按下Play時,幾乎立即聽到聲音。

+0

什麼時候是視頻文件實際加載到內存和解碼過程中發生的? – 2014-01-11 09:11:17

+0

除了加載標題和元數據外,'prepareForPlayback'還將預緩衝視頻和音頻內容的開始。可能會有1秒緩衝的視頻和音頻數據被加載和解碼,因此可以在調用'play'後立即開始播放。一旦播放開始,更多的塊被加載,解碼並通過流水線進行流式傳輸。 – gavinb 2014-01-11 22:50:24