最近在做Android下的音乐和视频播放器,Android默认只支持3gp和MP4两种视频格式,并且对streaming的播放支持也很有限。所以很多市面上的视频播放器都自带了第三方解码器。目前主要是FFMPEG和VLC解码器。有一个开源项目faplayer,主要是用到了VLC做解码库。faplayer目前控制方面的功能比较简单,但是解码效果比较理想,接近主流的Android视频播放器的播放效果。支持常规的视频格式。
虽然源码都能从网站上下载下来,不过需要用NDK编译出解码库,程序才能跑起来。用NDK编译VLC解码库可以在window下和Linux下进行。在window下编译总有这样那样的问题,最后在Linux下编译通过。
下面在Linux下用NDK编译VLC解码库的步骤:
[b]1、 下载faplayer的源码。[/b]
最好用git clone下载。直接下载zip压缩包,编译的时候有问题。需要把include的文件夹修改。
git clone https://github.com/tewilove/faplayer.git
[b]2、 安装android-ndk-r5c[/b](项目中的README中的内容需要仔细阅读)。
[b]3、 安装ruby 1.9.2[/b]
在Ubuntu下安装ruby: sudo apt-get install ruby
使用此命令安装的是1.8.7,还需要安装1.9.2
下载:http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p320.tar.gz
解压缩后,在解压后的目录中执行make和make install
[b]4、 设置ndk和ruby的环境变量[/b](不一定需要设置,设置了,方便后面使用)
输入: sudo gedit /etc/profile 打开profile文件,在最后,加入
export NDKPATH="ndk dir"
ndk dir = 是NDK的根目录,根目录下有ndk-build文件
在终端使用 source /etc/profile 刷新内容。或者重启终端也可以验证设置是否正确:
echo $NDKPATH 如果设置正确会输入你设置的路径
cd $NDKPATH 跳转到NDK根目录
ruby的环境变量的配置与此相似。
[color=red][b]环境变量一定要设置好,否则后面无法编译.[/b][/color]
[b]5、 修改build.sh文件[/b]
Faplayer根目录下有一个build.sh文件,打开。第4行 ndk-build $@ || exit 1
改为 $ NDKPATH/ndk-build $@ || exit 1
ruby post-build.rb修改为:
$rubypath/ruby post-build.rb
主要是设置好编译的NDK和ruby的路径
[b]6、 编译[/b]
终端下执行 ./build.sh
这个编译要花点时间,大概十分钟左右。编译好在libs文件夹下有个一个libvlccore.so 大概11.3M的动态库。
上面只是编译出libvlccore.so的解码库。其实faplayer的脚本文件build.sh是可以编译出整个apk文件的,不过还需要安装Ant和android的SDK以及配置相关开发环境。只要得到libvlccore.so就可以把工程拷到window下继续开发。把工程拷到window下,用eclipse打开,重新编译一次就好了。
build.sh默认是编译出一个arm-v7版本的动态库,如果需要在arm-A9或者arm-v7以下版本编译,需要调整编译参数。主要是Android.mk的编译参数。
android 导入播放器 android播放flv
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Android平台RTMP|RTSP播放器如何回调YUV或RGB数据?
技术选型我们知道,Android平台一般RTMP|RTSP播放器通常不直接提供回调YUV或RGB数据的功能。如果播放端有视觉分析或类似的需求,需要播放端,能支持YUV或ARG的数据回调,一般来说,可参考的方法如下:1. 使用FFmpeg和JNIFFmpeg是一个强大的多媒体处理库,它支持解码视频并提取帧数据。你可以通过JNI在Android的Java层调用C/C++层的FFmpeg库来解码RTSP
Android rtsp播放器回调yuv rtsp播放器回调rgb rtmp播放器回调yuv rtmp播放器回调rgb -
flv视频流播放
前端播放视频流
ide 视频流 Events -
android 播放器 播放图片 android手机播放器
随着移动端技术的飞速发展,现如今手机的功能愈发强大,播放音频已经是作为一部手机最基本的功能之一了。相信大家手机中都有安装音乐播放器,比如:QQ音乐、酷狗、“网抑云音乐”等。这些播放功能都很强大,界面都很美观。但是毕竟众口难调,Android给播放音频和视频都提供了一套比较完整的API,我们就可以利用其来定制一个自己音频播放器。在Android中播放音频文件一般是使用MediaPlayer类实现的,
android 播放器 播放图片 android toast android 获取音频文件时长 android 播放音频 -
android 播放器调用 android播放器源码
1、MainActivity.java:在此中主要负责播放器首页的功能,包括服务器上的下载列表,和SD卡上已经下载的mp3文件列表package com.wyt.MP3player;
android 播放器调用 android xml string layout