看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
zainan:http://www.yiqisi.com/?u=298672 10/21 20:44