<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦幾個(gè)堪稱教科書級(jí)別的 Android 音視頻入門項(xiàng)目

          共 1692字,需瀏覽 4分鐘

           ·

          2021-11-13 16:37


          目前,市面上關(guān)于音視頻學(xué)習(xí)的相關(guān)書籍并不多,而且即使看了書籍學(xué)了理論,最終還是要回歸到代碼上來。

          畢竟 IT 行業(yè)實(shí)踐性要求高,強(qiáng)調(diào)動(dòng)手能力,音視頻這方面就更得多操作和探索了。

          推薦下面幾個(gè)項(xiàng)目會(huì)各有側(cè)重,分別涵蓋了 Android 音視頻錄制 API 、OpenGL 渲染和綜合運(yùn)用的例子。

          • GPUImage

          Github 地址:

          https://github.com/cats-oss/android-gpuimage

          GPUImage 毫無疑問是音視頻項(xiàng)目里面必讀工程了,它的側(cè)重點(diǎn)在于渲染方面。

          有些公司的招聘要求上可能都會(huì)寫明熟悉GPUImage ,重要性可見一斑。

          通過閱讀 GPUImage 的源碼,能夠讓你掌握 OpenGL 的渲染以及渲染鏈的搭建,同時(shí)工程里面很多特效 Shader 代碼,通過閱讀和實(shí)踐這些 Shader 代碼,能夠讓你掌握初步的 Shader 編寫能力。

          比如常見的濾鏡效果,在 GPUImage 就有現(xiàn)成的代碼例子,這一點(diǎn)在我的直播中也有講到。有興趣的可以翻閱視頻,掌握常見濾鏡效果的代碼編寫。

          如果需要 GPUImage 相關(guān)的源碼分析文檔,也可以參考我之前寫過的一篇文章:

          OpenGL 之 GPUImage 源碼分析

          • AudioVideoRecordingSample

          Github 地址

          https://github.com/saki4510t/AudioVideoRecordingSample

          此項(xiàng)目的側(cè)重點(diǎn)在于 Android 音視頻相關(guān) API 的使用,尤其是在 錄制和編碼方面的。

          該項(xiàng)目運(yùn)行后能夠?qū)?Camera 采集的視頻和音頻內(nèi)容編碼成一個(gè) MP4 文件。

          這其中用到了 MediaCodec 做編碼,用到了 MediaMuxer 將音頻和視頻混合。

          這樣的一個(gè)完整示例對(duì)于掌握 Android 上音視頻相關(guān) API 幫忙非常大,因?yàn)樗軌虺晒φ_運(yùn)行,而且可以通過去修改其源碼來做自己的實(shí)驗(yàn),驗(yàn)證自己對(duì)于 API 的理解和掌握。

          當(dāng)你能夠熟練掌握其內(nèi)容,或者你就可以試著更進(jìn)一步,嘗試用 FFmpeg 做音視頻的編碼和混合,實(shí)現(xiàn)和 Android 音視頻 API 一樣的功能。

          • Grafika

          Github 地址

          https://github.com/google/grafika

          此項(xiàng)目是 Google 提供的一個(gè)非官方的項(xiàng)目,它的側(cè)重點(diǎn)在于將 OpenGL 與 Android 音視頻 API 綜合運(yùn)用。

          它包含了很多個(gè)完整小示例,比如如何使用 TextureView 顯示 OpenGL 內(nèi)容、使用三種方式進(jìn)行 OpenGL 內(nèi)容的錄制、如何進(jìn)行硬編碼操作等。

          通過閱讀這些例子,能夠讓你掌握更多的技巧,把前面學(xué)會(huì)的 OpenGL 和 Android 音視頻 API 更靈活運(yùn)用了,進(jìn)一步加深理解。

          甚至有些例子都可以用到項(xiàng)目早期需求中去的,比如如何進(jìn)行 EGL 的封裝、渲染線程與主線程的分離。

          另外,以上三個(gè)例子都會(huì)包含 Camera 相關(guān)的操作,比如如何將 Camera 內(nèi)容展示到 SurfaceView 、TextureView 上,如何進(jìn)行 Camera 拍攝等。

          最后

          之前這三個(gè)項(xiàng)目堪稱教科學(xué)書級(jí)別的,不是沒有理由的。至少我都源碼閱讀了兩邊以上。

          第一次閱讀的時(shí)候會(huì)覺得 " 嗯,明白怎么回事了 ",等到項(xiàng)目實(shí)踐了,需要自己從頭搞一遍,這時(shí)再回頭看,會(huì)有新的感悟 "哦,原來要這樣設(shè)計(jì)呀" ,等到更熟練的時(shí)候,在來看,可能就會(huì)覺得 "咦,這塊能優(yōu)化一波了"。

          以上,希望對(duì)于想從事音視頻開發(fā)的你,也能夠看看上面幾個(gè)項(xiàng)目源碼,學(xué)習(xí)到更多技巧,共同進(jìn)步。


          技術(shù)交流,歡迎加我微信:ezglumes ,拉你入技術(shù)交流群。

          掃碼關(guān)注公眾號(hào)【音視頻開發(fā)進(jìn)階】,一起學(xué)習(xí)多媒體音視頻開發(fā)~~~


          喜歡就點(diǎn)個(gè)「在看」 ▽
          瀏覽 36
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲黄毛片 | 上海美女操B视频网站 | AV性都花花世界 | 无码内射在线播放 | 天天爱天天插 |