※ 引述《kf185793 (ON S)》之銘言:
: 遇到的問題: (題意請描述清楚)
: FFMPEG在網路上面的資源非常的少
: 我尋找範例程式好像也找不太到
: 不然就是找到了編譯會出現許多問題
: 因為某些原因我只能在VS2008上編譯
: 然而網路上面的都是在VS2005上面跑
: 使得會出現許許多多的問題
: 想試問 有沒有FFMPEG的相關範例程式 (可在VS2008上跑)
: 或者是說 有人可以指導我一下嗎(拜託囉)
: 我希望的是解開AVI上面的音量大小就好了
首先強烈推薦你使用下面這個網頁所編好的版本:
http://ffmpeg.arrozcru.org/autobuilds/
下載 shared 和 shared-dev 的部分就好
雖然它是用 mingw32 編的, 不過依然可以使用 VC link 起來
(感謝他們堅持使用 C 吧 XD)
如果是 VC9 可能要注意 stdint.h 底下的問題
API 的使用方式 ...
基本上你要用到的東西(依序):
av_open_input_file // 打開檔案
av_find_stream_info // 找到串流資訊
然後你就可以去找 audio stream 的 codec 來解碼
hint:
AVFormatContext::streams
AVStream::codec
avcodec_find_decoder // 找到 decoder
avcodec_open // 開啟 decoder
再來讀取影格(frame 或稱 packet)
av_read_frame // 讀取一到數個 frame(s)
再來就是真正解碼回 PCM16LE 的原始資料
avcodec_decode_audio3 // 解成 PCM16LE
反覆做 av_read_frame 和 avcodec_decode_audio3 直到結束
====
音量大小就看你要怎麼對 PCM 做編輯 ...
--
自High筆記(半荒廢)
http://legnaleurc.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.252.167