Android mediaRecorder框架简述(二)
這里有個setupVideiEncoder,看來這里應該是對視頻編碼的地方?根據不同的編碼類型來設置不同的參數,這個方法代碼有些多直截取部分代碼:
來看看關鍵的一句,這里創建了OMXCodec?然后把創建了的編碼器賦值給MediaSource,這里的MediaSource可以看作是OMXCodec的封裝,這樣編碼器的準備工作就已經做好了:
接著我們回到startMPEG4Recording()?方法,可以看到這里在對解碼器進行準備之后,建立了metadata,然后調用setupMPEG4MetaData來存儲媒體信息到metadata中,最后我們調用MediaWriter的start方法開始進行編碼:
這個是setupMPEG4MetaData方法用來存儲媒體信息的各項參數:
接下來我們看看mediaWriter的start方法的實現,meidaWriter只是個描述的文件,我們調用的是實現了這個頭文件的MPEG4Writer的start方法,這里截取我們關注的代碼,這里開啟了一個線程并調用了startTracks方法:
startTracks方法中的實現,建立了一個迭代器,不斷的調用start方法:
這里的it就是Track類,我們看看Track類,他是MPEG4Writer的內部類:
接著看看Track類中start的實現,這里截取我們感興趣的代碼?原來調用的是MediaSource,我們前面說過MediaSource就是OMXCodec的封裝,這下我們知道了前面是用來準備編碼器的,這里開始調用編碼器開始編碼了,也就是說我們從mediaRecorder.java調用了start方法最終調用的就是OMXCodec.cpp的start方法:
原文地址:?http://blog.csdn.net/itachi85/article/details/8278742
總結
以上是生活随笔為你收集整理的Android mediaRecorder框架简述(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android mediaRecorde
- 下一篇: android sina oauth2.