2011-09-30 41 views
3

假設我有一個音頻文件和關於該音頻文件的特定片段的時間信息的集合,即它們的startTime和endTime。我想要做的是按順序播放音頻文件,從頭開始並逐段移動文件。播放音頻文件並在iOS上的各種時間暫停

因此,舉例來說,假設我有一個像以下數據:

段1 - 開始時間:1.0秒,結束時間:3.4s 段2 - 開始時間:3.4s,結束時間:5.0S 段3 - 開始時間:7.8s,結束時間:9.5s ...

我想按順序逐段播放音頻文件。它會在文件中啓動1.0s,播放到3.4s,然後暫停並等待用戶按下按鈕。一旦用戶按下按鈕,它會從3.4s發揮5.0S,然後從7.8s至9.5s,等...

用戶也將有可能爲「磨砂」的聲音(而不是內部因此儘管我按順序播放,但仍有可能返回到先前的片段,在這種情況下,此過程將重複(即,如果用戶擦洗到之前或之後的片段,它將在它到達該段的末尾)。

完成此目標的最佳方法是什麼?看起來我可以使用AVAudioPlayer,但我沒有看到一種方法可以在endTime中完全暫停它,除了反覆輪詢currentTime。 AVPlayer和AVPlayerItem看起來像是另一種可能性,但是如果我理解文檔,一次只有一個播放器項目...所以我想我需要處理替換AVPlayerItems以使清理功能起作用。

有關於如何最好地完成此目標的任何建議?

回答

0

關閉我的頭頂,要麼分手文件到各個段,並在需要的時候發揮他們,或使用AVAudioPlayer的功能[(音頻播放器的名稱)暫停]暫停他們。然後用[[我們的音頻播放器的名字]播放]按鈕觸發內部時繼續播放;

+1

我正在尋找只使用一個文件的解決方案。 此外,我知道如何暫停和播放音頻文件。我感興趣的是,如果有一種方法可以在一段時間後暫停它,而不是針對某個特定值輪詢currentTime,儘管輪詢可能是最佳解決方案。 –

+0

[試試這個](http://stackoverflow.com/a/13134000/3577656)。 我能夠使用[Prince](http://stackoverflow.com/users/1106035/prince)給出的想法使用AVPlayer暫停和播放。 – Rajal

相關問題