編輯:關於Android編程
感謝哔哩哔哩團隊不吝開放出來。此文主要用於幫助之後需要編譯ijkplayer的同學,少走一點彎路。
首先交代一下我這邊編譯的環境:
Ubuntu 14.04 64位
ANDROID_SDK 和 ANDROID_NDK (特指NDK r10e),這個很重要千萬不要弄到ndk_r9d
編譯ijkplayer其實並沒有網上那麼多的問題,之所以有問題 基本都是環境導致的。
接著我們按照github上的來操作。
0. 准備工作
(1)沒裝 git 的同學,裝 git 咯(apt-get install git)
(2)裝make 和 yasm (這裡我要強調的是yasm 記得它的版本一定要是1.2.0,否則不行)
准備工作做好了,就可以開始了
1. 你需要將github上的代碼clone下來, 放在文件夾ijkplayer中
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer_android
2. 做一些初始化動作
cd config
rm module.sh //這個文件刪除掉
ln -s module-default.sh module.sh
cd android/contrib
sh compile-ffmpeg.sh clean
sudo dpkg-reconfigure dash , 選擇 No
3.接著運行android編譯ijkplayer所需要的初始化腳本(其實就是為了把ffmpeg相關的下載下來【跟視頻流相關的】)
到項目主目錄ijkplayer_android下,執行 sh ./init-android.sh ,然後只要放著下載了,這邊理論上你要所有的都下載好而且沒錯誤,才可以進行下一步,如果中間有錯誤千萬別進行下一步,沒有用的。
4.完了之後, cd android/contrib 目錄下
執行 sh ./compile-ffmpeg clean
然後再執行 sh ./compile-ffmpeg all // all表示所有cpu類型的平台都進行編譯。也可以寫指定的。
【這邊期間可能會遇到很多比如什麼x86裡面有個錯誤,如下---這個我的分析就是你的yasm的版本不是1.2.0】
In file included from libavcodec/x86/mpegvideoenc.c:83:0:
libavcodec/x86/mpegvideoenc_template.c: In function 'dct_quantize_ssse3':
libavcodec/x86/mpegvideoenc_template.c:151:9: error: 'asm' operand has impossible constraints
asm volatile(
^
libavcodec/x86/mpegvideoenc_template.c:186:9: error: 'asm' operand has impossible constraints
asm volatile(
^
make: *** [libavcodec/x86/mpegvideoenc.o] Error 1
5.如果第四步你也已經順利通過,那麼剩下的就是執行./compile-ijk.sh這個腳本了,執行完後,在android/ijkplayer目錄下就是所有的可以用的demo了,生成的libs會放到demo的libs目錄下。
作為一名程序員,自己在學習時經常需要寫代碼,但是由於換電腦或其他原因這些代碼可能丟失,不方便以後的查看和復習。如果有一個版本服務器,不僅能把上傳代碼,在需要是可以隨時下載
當啟動Android Studio時,如果彈出 adb not responding. you can wait more,or kill adb.exe proc
前面四篇文章分別介紹了音頻開發必備的基礎知識、如何采集一幀音頻、如何播放一幀音頻、如何存儲和解析wav格式的文件,建議有興趣的小伙伴們先讀一讀,本文則重點關注如何對一幀音
本節引言: 本節主要介紹的是Android系統服務中的---AlarmManager(鬧鐘服務), 除了開發手機鬧鐘外,更多的時候是作為一個全