接着上一篇在Mac上编译ijkplayer的.so,现在将这些文件夹拷贝到windows上。(在mac和winds上集成到eclipse上是一样的,只是我这mac上没有安装eclipse)。
现在开始说集成到Eclipse的步骤:
其他工程也是这样操作。
这里没有导入ijkplayer-exo该工程,这个是google的一个开源播放器,我这里不用所以就没有导入,如果需要用的话还需要编译ijkplayer-exo。
导入工程发现几个问题如下图所示:
这问题是因为找不到‘java’文件夹,之前将该文件夹改为src了,所有找不到很正常。
打开各个工程下的.classpath文件,删除<classpathentry kind="src" path="java"/>这一行。
然后在eclipse下刷新(refresh)下各工程就可以了。
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry kind="src" path="java"/> <classpathentry kind="src" path="src"/> <classpathentry kind="src" path="gen"/> <classpathentry kind="output" path="bin/classes"/> </classpath>
(1)首先编译ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这五个工程,这五个工程类似.
以arm64为例,右击工程,点击Properties,选择Android,勾选Is Library点击ok. 编译下工程(Build Project),确保没有问题。
(2)编译ijkplayer-java。
出现如下图问题:
AndroidMediaPlayer类中导入的MediaDataSource类找不到,已经导入包名了,import android.media.MediaDataSource;
发现这个类是在Android 6.0(API 23)才有的一个类,将project.properties中target修改为android-23(之前我这里是22)。
重新build project,发现没有问题了。
1 右击ijkplayer-sample,点击Properties,选择Andorid,将这几个全部删除。
添加下图几个
2 配置preference
需要导入preference包,和导入appcompat包类似。
否则会提示该错误Error: No resource found that matches the given name: attr 'preferenceTheme'。并且该preference需要做如下配置,否则运行是setting界面打开失败。
3 配置otto
下载otto jar包,在ijkplayer-example目录下新建libs文件夹,将jar包拷贝到libs目录下。右击jar包,点击Build path,点击Add to build path。
4 修改IjkVideoView类,注释掉exoplayer相关代码。
import tv.danmaku.ijk.media.exo.IjkExoMediaPlayer; IjkExoMediaPlayer IjkExoMediaPlayer = new IjkExoMediaPlayer(mAppContext); mediaPlayer = IjkExoMediaPlayer;运行该程序就可以了,界面效果图如下所示:
该demo可以播放本地视频文件,以及网络流媒体。当然记得别选择用IjkExoMediaPlayer(没有配exo)。
填写url,进行播放,如果有问题记得点击setting,修改播放器或其他配置。
deno下载地址:
http://download.csdn.net/download/vnanyesheshou/9719503