2010-09-13 84 views
2

我對我遇到的一個問題有點困惑。我正在嘗試創建一些連續播放,無縫背景音樂的聲音循環..只要我待在AAC/WAV/etc中,一切都很好,但只要我在AAC中對文件進行編碼,我會遇到1/10的在聲音文件結尾的第二個。音頻編碼:在軌道末尾沒有1/10秒靜音的AAC文件

我在Mac上,所以我嘗試過使用iTunes,Compressor(包含在Final Cut Pro中),Adobe Soundbooth和Audacity進行編碼。我在比賽結束時不斷得到那個愚蠢的1/10差距。

這是AAC編碼中固有的東西嗎?最後一個包/幀/什麼是正確的術語 - 必須保持沉默?

關於如何在AAC中對聲音文件進行編碼而不會在最終得到這種差距的任何想法?

任何幫助將非常感激。

+0

你是否從你自己的程序中完成這項工作?如果沒有,這應該去超級用戶。 – 2010-09-13 20:03:19

+0

它在這裏發佈,因爲它在可可音頻隊列服務開發的上下文中。 – 2010-09-15 08:08:31

回答

2

這對於MP3來說是固有的,因爲具有相同長度的「塊」被寫入文件而不是允許定義塊的長度(例如OGG/Vorbis所做的那樣)。 LAME似乎有一個「無間隙」功能,允許長度精確的MP3文件。

如果正確理解了互聯網上的信息(this hydrogenaudio.org forum entry for example,AAC患有相同的問題,並且似乎有一些編碼器能夠設置的無縫標籤。在提供的鏈接中,據說最近版本的的iTunes + QuickTime的可以插入這樣的標籤。

+0

謝謝。我對音頻編碼的東西很陌生,並不知道這種限制。我正在使用音頻隊列服務來消除NSSound固有的播放間隙,但如果API在您處理更多或更少原始數據時尊重iTunes生成的無間隙標記,我會非常驚訝。無論如何,我可以停止浪費我的時間來試圖對文件進行編碼而不會在最後出現缺口,因爲它似乎是固有的。我只是用aiff來說明這個差距是一個真正的問題。謝謝您的幫助。 – 2010-09-15 08:07:16

2

好了,這是晚年,但我試圖找到這個問題的答案同樣的問題。

我設法解決這個問題。我用扭曲波出口嗎作爲一個MP4,然後我簡單地將文件名從MP4轉換到M4A兼容。我懷疑類似的東西也可以在其他程序中使用。

+0

嗨,我認爲問題是由mp4編碼器造成的,要求剪輯的總長度是某個持續時間的倍數。如果還有一段時間,編碼器就會進入沉默狀態,一首歌曲結尾的1秒左右的沉默通常是沒有什麼大不了的。我認爲Twisted Waves在剪輯結尾做了一些聰明的事情。有趣! – 2012-12-05 14:08:54