我得到一個似乎取決於AVFoundation和簡單[NSSound play]之間的計算機的延遲。 我的程序正在播放AVPlayer中的一個視頻軌道和三個音軌。這很好。獨立地,該程序根據樂譜中的信息爲每個節拍生成一個節拍器。兩個節拍器的聲音都是非常短的文件,我在NSSound中加載並使用[NSSound播放]來播放它們。我注意到我不得不將節拍器的播放時間改爲大約90毫秒,以便完美同步。其中一部分可能是節拍器文件中的節拍器影響的確切時刻,但如果這是唯一原因,那麼這種延遲在所有Mac電腦上都是相同的。但是,在不同的Mac上,這個延遲必須調整。由於它是一個與音樂同步的節拍器拍子,所以它非常關鍵,因爲輕微的轉變會使它聽起來不那麼有節奏。有什麼方法可以直接從AVFoundation API中計算延遲?或者爲了補償它或以另一種方式播放節拍器,以便AVPlayer和NSSound播放之間沒有延遲?我將不勝感激關於此的一些鏈接或想法。 謝謝! Dominique 比利時Arpege音樂公司解決AVPlayer和NSSound之間的延遲問題
0
A
回答
0
我建議您尋找一個低級音頻庫來管理和即時播放您的音樂。 BASS是一個基於音頻單元的低級庫,可以對流進行精確,精確和快速的控制。通過操作緩衝區,並可能創建一個混音器流(請參閱文檔),您應該可以在任何設備上立即播放聲音。具體來說,請先查看緩衝聲音,並將其保存在內存中,因爲聲音很短。
相關問題
- 1. 如何解決eclipse延遲問題
- 2. AVPlayer流延遲
- 3. touchesEnded:withEvent:如何解決延遲之前的延遲
- 4. 處決之間的延遲 - PHP
- 5. 延遲/懶解決
- 6. JQuery延遲解決其他延遲
- 7. 延遲問題
- 8. 循環和延遲問題
- 9. 解決後臺線程和C#/ WPF中的UI線程之間的延遲問題?
- 10. 問題的延遲()
- 11. 如何解決動畫中的延遲問題?
- 12. 我該如何解決我的S3/memcache延遲問題?
- 13. Preloader和Stage之間的延遲顯示
- 14. setexpresscheckout和doexpresscheckout之間的延遲
- 15. 調用和通話之間的延遲
- 16. ProgressDialog.dismiss()和AlertDialog.show()之間的長延遲
- 17. SQL Server 2005和.NET之間的延遲
- 18. IOS/MultipeerConnectivity/SendData和ReceiveData之間的延遲
- 19. 'tochesBegan'和'touchesMoved'之間的延遲
- 20. 功能之間的延遲
- 21. 打印之間的延遲
- 22. jQuery:addclass()之間的延遲()
- 23. 動畫之間的延遲
- 24. 製作時間延遲的問題
- 25. jQuery多個延遲解決和返回之前處理
- 26. jquery延遲問題
- 27. Heroku延遲問題
- 28. jQuery延遲問題
- 29. Netty延遲問題
- 30. Directory.CreateDirectory延遲問題?
你沒有提到你如何安排聲音。聽起來就像你可能使用NSTimer一樣 - 它有各種各樣的問題。如果這個問題變成了如何可靠地安排節拍器聲音的問題之一,那麼這是我以前在這裏回答過的一個問題。讓我看看我能否找到答案。 – marko
感謝Marko。爲了安排聲音播放,我確實使用了一個NSTimer,但是我將它設置在一個單獨的線程中,並帶有自己的事件循環,僅用於此目的。這樣它非常穩定,沒有任何故障。唯一的問題是如何計算我必須加入或減去這個節拍器的延遲,因爲它似乎與機器有關。該線程正在觀看AVPlayer時間值,並在適當的時候觸發聲音播放。 – Dominique