我想知道如果有人知道如何將mp3音頻文件轉換爲ogg音頻文件。我知道有些程序可以在線購買,但我寧願只有我自己的小應用程序,它允許我轉換任意數量的文件。C++音頻轉換(mp3 - > ogg)
回答
它很簡單。我不會使用Windows Media Format SDK。僅僅因爲它對於這項工作來說太過分了。
你需要一個MP3解碼器和OGG編碼器和周圍的膠水代碼一點點(打開文件,建立編解碼器,圍繞ECT管道原始音頻數據。)
對於MP3解碼器,我建議你可以看一下liblame庫或者使用這個解碼庫文件作爲起點。
對於OGG沒有太多的選擇。你需要libogg和libvorbis。那樣容易。 libs附帶的示例代碼顯示瞭如何執行編碼。
祝你好運。
你當然可以在C++中用Windows Media Format SDK來做到這一點。
我只使用了WMFSDK9我自己。它包含一個名爲UncompAVIToWMV的示例,可能會使您開始。自述:
它展示瞭如何從幾個 AVI文件合併爲 音頻和視頻流的樣本,要麼合併到這些 類似的流或創建基於源流分佈的新流 。 它還顯示瞭如何創建一個 任意流,做多通 編碼並添加SMPTE時間碼。
你需要解碼mp3然後編碼成ogg。
一種可能性是使用liblame進行mp3解碼,並使用libogg/libvorbis編碼進入ogg。或者只是使用這些命令行版本。
但我不會說從一種有損格式轉換爲另一種格式是一個好主意。
Foobar2000(http://www.foobar2000.org/)是免費的,可以很容易地轉換文件格式。只需點擊幾下即可將MP3轉換爲OGG。請注意,從有損格式轉換爲有損格式會比從無損格式(FLAC,CD Audio,Apple Lossless Codec)轉換爲有損格式(MP3,OGG, M4A)。如果您有權訪問無損源音頻使用來轉換它。
這是一個壞主意。引用來自Vorbis的常見問題
您可以將任何音頻格式轉換爲 Ogg Vorbis。但是,從 一個有損格式,如MP3轉換爲另一個 有損格式,如Vorbis,是 通常是一個壞主意。 MP3和 Vorbis編碼器通過丟棄 可能會聽不到的音頻波形部分來實現高壓縮比。但是,MP3 和Vorbis編解碼器差別很大,所以它們每個都會扔掉不同的 部分音頻,儘管 肯定有些重疊。將MP3轉換爲Vorbis包括將 MP3文件轉換回非壓縮的 格式(如WAV),並使用Ogg Vorbis編碼器重新壓縮 。解碼後的MP3將丟失編碼器選擇丟棄的原始音頻的部分 。 Vorbis編碼器在壓縮 數據時將丟棄其他 音頻組件。充其量,結果將是 一個Ogg文件,這聽起來與您的原始MP3相同,但它最可能是 相當於 聽起來比您的原始MP3差。在 沒有任何情況下你會得到一個文件, 聽起來比原來的MP3更好。
由於許多音樂播放器可以播放兩種 MP3和OGG文件,沒有理由 ,你應該有所有的 文件轉換到一種格式或其他。 如果您喜歡Ogg Vorbis,那麼我們鼓勵您在使用 編碼原始無損音頻 來源(如CD)時使用它。當從 原件編碼時,您會發現可以使 使Ogg文件比您的 MP3更小或更好質量(或兩者均爲 )。
(如果你必須絕對必須從MP3到奧格轉換 ,有幾個 轉換腳本可在 Freshmeat。)
http://www.vorbis.com/faq/#transcode
而且,爲準確起見,從相同的常見問題解答:
Ogg Ogg是o f Xiph.org的 音頻,視頻和 元數據的容器格式。
Vorbis格式 Vorbis是的 它的設計要包含在 奧格特定的音頻壓縮方案 名稱。請注意,其他格式爲 能夠作爲FLAC和Speex嵌入在Ogg中,例如 。
我想在理論上可以在Ogg中嵌入MP3,但我不確定爲什麼有人會想要。 FLAC是一種無損音頻編解碼器。 Speex是針對編碼語音進行優化的非常有損音頻編解碼器。 Vorbis是一款通用的有損音頻編解碼器。因此,「Ogg音頻」有點用詞不當。 Ogg Vorbis是我想象的你的意思。如果你仍然想從MP3轉換到Ogg Vorbis,你可以(a)嘗試上面的Freshmeat鏈接,(b)看看其他答案,或者(c)看看FFmpeg。 FFmpeg是一個用於轉換大量視頻和音頻編解碼器和格式的通用庫。它可以做很多聰明的事情。我聽說它的默認Vorbis編碼器質量很差,但它可以配置爲使用libvorbis而不是內置的Vorbis編碼器。 (最後一句可能已過時,我不知道)
請注意,FFmpeg將使用LAME和libvorbis,就像你已經是。它不會爲你做任何新的事情。它只是讓您可以選擇進行各種其他轉換。
- 1. 將原始音頻轉換爲mp3/ogg
- 2. 在Ubuntu服務器上轉換音頻(mp3-> ogg)
- 3. 將PCM轉換爲MP3/OGG
- 4. Java - 轉換ogg到mp3
- 5. 將spx音頻文件轉換爲mp3
- 6. 3gp音頻ogg轉換不起作用
- 7. 音頻轉換C#
- 8. 開源音頻轉換器到mp3
- 9. 轉換任何音頻格式爲MP3
- 10. 將音頻文件轉換爲mp3
- 11. 如何將arrayBuffer轉換爲mp3音頻?
- 12. Swift中的音頻轉換(MP3到PCM)
- 13. iOS - 轉換音頻格式(opus to mp3)
- 14. 在CentOS中將MP3轉換爲OGG
- 15. 轉換MP3到OGG有關ffmpeg
- 16. 通過php將mp3轉換爲ogg
- 17. OGG音頻到AudioTrack
- 18. 將WMA音頻文件轉換爲MP3音頻文件
- 19. TTS音頻(mp3)使用c#
- 20. 使用C#將音頻文件轉換爲MP3格式
- 21. 如何使用PHP上傳音頻(mp3,ogg,flac)?
- 22. 提供枚MP3/OGG文件到HTML5音頻
- 23. 如何閱讀TensorFlow圖中的Ogg或MP3音頻文件?
- 24. 爲什麼大多數音頻src標籤使用ogg和mp3
- 25. 最小的音頻文件:MP3,Ogg或Wav?
- 26. 用AudioTrack從SD卡播放音頻(mp3,ogg)
- 27. 流爲html5音頻或將.amr轉換爲.ogg
- 28. iPhone擴展音頻文件服務,mp3 - > PCM - > mp3
- 29. 用C轉換MP4到Ogg#
- 30. 跨瀏覽器OGG音頻
這對於即將到來的superuser.com來說是一個很好的問題。 – 2009-06-03 14:04:05
我不這麼認爲,海報想創建一個應用程序。在我看來,這是編程 – 2009-06-03 14:36:27