没有前言 就是视频没声音 然后ExoPlayer音频可以FFmpeg扩展
1.git源码
git clone https://github.com/google/ExoPlayer.git
2.下载好NDK r15c
下载地址:https://dl.google.com/android/repository/android-ndk-r15c-darwin-x86_64.zip
3.写脚本
EXOPLAYER_ROOT="$(pwd)"
FFMPEG_EXT_PATH="${EXOPLAYER_ROOT}/extensions/ffmpeg/src/main"
HOST_PLATFORM="darwin-x86_64"
NDK_PATH=/Users/nlj/android-ndk-r15c #这里填你解压出来的地址
COMMON_OPTIONS="\
--target-os=android \
--disable-static \
--enable-shared \
--disable-doc \
--disable-programs \
--disable-everything \
--disable-avdevice \
--disable-avformat \
--disable-swscale \
--disable-postproc \
--disable-avfilter \
--disable-symver \
--disable-swresample \
--enable-avresample \
--enable-decoder=vorbis \
--enable-decoder=opus \
--enable-decoder=flac \
--enable-decoder=alac \
--enable-decoder=pcm_mulaw \
--enable-decoder=pcm_alaw \
--enable-decoder=mp3 \
--enable-decoder=amrnb \
--enable-decoder=amrwb \
--enable-decoder=aac \
--enable-decoder=ac3 \
--enable-decoder=eac3 \
--enable-decoder=dca \
--enable-decoder=mlp \
--enable-decoder=truehd \
" && \
cd "${FFMPEG_EXT_PATH}/jni" && \
(git -C ffmpeg pull || git clone git://source.ffmpeg.org/ffmpeg ffmpeg) && \
cd ffmpeg && git checkout release/4.0 && \
./configure \
--libdir=android-libs/armeabi-v7a \
--arch=arm \
--cpu=armv7-a \
--cross-prefix="${NDK_PATH}/toolchains/arm-linux-androideabi-4.9/prebuilt/${HOST_PLATFORM}/bin/arm-linux-androideabi-" \
--sysroot="${NDK_PATH}/platforms/android-9/arch-arm/" \
--extra-cflags="-march=armv7-a -mfloat-abi=softfp" \
--extra-ldflags="-Wl,--fix-cortex-a8" \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS} \
&& \
make -j4 && make install-libs && \
make clean && ./configure \
--libdir=android-libs/arm64-v8a \
--arch=aarch64 \
--cpu=armv8-a \
--cross-prefix="${NDK_PATH}/toolchains/aarch64-linux-android-4.9/prebuilt/${HOST_PLATFORM}/bin/aarch64-linux-android-" \
--sysroot="${NDK_PATH}/platforms/android-21/arch-arm64/" \
--extra-ldexeflags=-pie \
${COMMON_OPTIONS} \
&& \
make -j4 && make install-libs && \
make clean && ./configure \
--libdir=android-libs/x86 \
--arch=x86 \
--cpu=i686 \
--cross-prefix="${NDK_PATH}/toolchains/x86-4.9/prebuilt/${HOST_PLATFORM}/bin/i686-linux-android-" \
--sysroot="${NDK_PATH}/platforms/android-9/arch-x86/" \
--extra-ldexeflags=-pie \
--disable-asm \
${COMMON_OPTIONS} \
&& \
make -j4 && make install-libs && \
make clean
cd "${FFMPEG_EXT_PATH}"/jni && \
${NDK_PATH}/ndk-build APP_ABI="armeabi-v7a arm64-v8a x86" -j4
写好了请把它放到源码根目录
像这样: 脚本位置4.运行脚本
打开你的终端把脚本拖过去然后回车
出意外的你可以看看这些教程:
用法
别问,问就是不知道!!!略略略
好吧瞎说的
第一步: 取编译好的so文件
MacOS10.14.5 ▸ 用户 ▸ nlj ▸ ExoPlayer ▸ extensions ▸ ffmpeg ▸ src ▸ main
这个目录下有个文件夹叫libs 里面有不同架构的so文件 (不懂的去百度)
第二步:取Java文件
还是这个目录下有个java文件夹,点到底里面有4个类
把它放到这里
第三步: 官方教程
意思就是这样 ExoPlayerFactory.newSimpleInstance用法
别问什么意思 问就是你自己理解吧
好了这就完事了
如果你想喷我为什么不生成aar包,抱歉我嫌麻烦
网友评论