我正在尝试在我的项目中使用 vitamio 库,从 https://github.com/yixia/VitamioBundle/tree/v3.0下载该库 并作为 Eclipse 库项目导入。
然后我创建了一个使用库(项目属性/Androd/添加库)的测试项目,一切似乎都是正确的,并且维生素资源包含在测试项目树中,测试活动 xml 如下(从另一个 StOv 帖子中获取):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingLeft="2px" android:paddingRight="2px"
android:paddingTop="2px" android:paddingBottom="2px"
android:layout_width="fill_parent" android:orientation="vertical">
<io.vov.vitamio.widget.VideoView
android:layout_height="fill_parent"
android:layout_width="fill_parent" android:id="@+id/VideoView">
</io.vov.vitamio.widget.VideoView>
</LinearLayout>
和相关代码:
public class Test extends Activity{
io.vov.vitamio.widget.VideoView videoView;
private void test_2(){
String httpLiveUrl = "rtsp://somevideostream";
videoView = (VideoView) findViewById(R.id.VideoView);
videoView.setVideoURI(Uri.parse(httpLiveUrl));
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tv);
if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this)) return;
test_2();
}
}
在测试清单文件中正确输入了 vitamio 库活动“InitActvity”,如下所示
<activity
android:name="io.vov.vitamio.activity.InitActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden" />
一切看起来都很好,项目编译和构建,然后当我尝试运行代码(在模拟器和 arm7 设备上)时,我得到:
找不到方法 io.vov.vitamio.LibsChecker.checkVitamioLibs 和 VFY:无法解析静态方法 312:Lio/vov/vitamio/LibsChecker;.checkVitamioLibs (Landroid/app/Activity;)Z
解决 Lio/vov/vitamio/widget/VideoView$1 失败;接口 126 'Lio/vov/vitamio/MediaPlayer$OnVideoSizeChangedListener;' 测试应用程序显示一条对话框消息,说明它已强制关闭。
换句话说,在构建 apk 时,看起来整个 Vitamio 库都没有在项目中构建(链接),即使在 eclipse 树 eve 中似乎没问题。
任何想法 ?
Tnx 提前给大家。