Java Vitamio VideView崩溃
我正在尝试使用Vitamio VideoView在我的应用程序中播放流视频。 我已经下载了vitamio演示应用程序,它与我的url配合得很好。但当我试图在我的应用程序中使用它时,它会在“mVideoView.setVideoURI(Uri.parse(path));”之后崩溃 这是main.xml中我的视频视图的布局:Java Vitamio VideView崩溃,java,android,android-videoview,vitamio,Java,Android,Android Videoview,Vitamio,我正在尝试使用Vitamio VideoView在我的应用程序中播放流视频。 我已经下载了vitamio演示应用程序,它与我的url配合得很好。但当我试图在我的应用程序中使用它时,它会在“mVideoView.setVideoURI(Uri.parse(path));”之后崩溃 这是main.xml中我的视频视图的布局: <LinearLayout android:id="@+id/videoview" android:orientation="vertical"
<LinearLayout
android:id="@+id/videoview"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:visibility="gone">
<io.vov.vitamio.widget.CenterLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<io.vov.vitamio.widget.VideoView
android:id="@+id/surface_view1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</io.vov.vitamio.widget.CenterLayout>
LogCat显示:
04-12 20:00:00.241: E/Vitamio(16177): Error loading libs
04-12 20:00:00.241: E/Vitamio(16177): java.lang.UnsatisfiedLinkError: Cannot load library: load_library(linker.cpp:771): library "nulllibstlport_shared.so" not found
04-12 20:00:00.241: E/Vitamio(16177): at java.lang.Runtime.load(Runtime.java:340)
04-12 20:00:00.241: E/Vitamio(16177): at java.lang.System.load(System.java:507)
04-12 20:00:00.241: E/Vitamio(16177): at io.vov.vitamio.MediaPlayer.<init>(MediaPlayer.java:100)
04-12 20:00:00.241: E/Vitamio(16177): at io.vov.vitamio.MediaPlayer.<init>(MediaPlayer.java:78)
04-12 20:00:00.241: E/Vitamio(16177): at io.vov.vitamio.widget.VideoView.openVideo(VideoView.java:221)
04-12 20:00:00.241: E/Vitamio(16177): at io.vov.vitamio.widget.VideoView.access$29(VideoView.java:209)
04-12 20:00:00.241: E/Vitamio(16177): at io.vov.vitamio.widget.VideoView$9.surfaceCreated(VideoView.java:461)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.SurfaceView.updateWindow(SurfaceView.java:569)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.SurfaceView.access$000(SurfaceView.java:86)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:174)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:680)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1842)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.Choreographer.doFrame(Choreographer.java:532)
04-12 20:00:00.241: E/Vitamio(16177): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
04-12 20:00:00.241: E/Vitamio(16177): at android.os.Handler.handleCallback(Handler.java:725)
04-12 20:00:00.241: E/Vitamio(16177): at android.os.Handler.dispatchMessage(Handler.java:92)
04-12 20:00:00.241: E/Vitamio(16177): at android.os.Looper.loop(Looper.java:137)
04-12 20:00:00.241: E/Vitamio(16177): at android.app.ActivityThread.main(ActivityThread.java:5227)
04-12 20:00:00.241: E/Vitamio(16177): at java.lang.reflect.Method.invokeNative(Native Method)
04-12 20:00:00.241: E/Vitamio(16177): at java.lang.reflect.Method.invoke(Method.java:511)
04-12 20:00:00.241: E/Vitamio(16177): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
04-12 20:00:00.241: E/Vitamio(16177): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
04-12 20:00:00.241: E/Vitamio(16177): at dalvik.system.NativeStart.main(Native Method)
04-12 20:00:00.241:E/Vitamio(16177):加载libs时出错
04-12 20:00:00.241:E/Vitamio(16177):java.lang.UnsatifiedLink错误:无法加载库:加载库(linker.cpp:771):找不到库“nulllibstlport_shared.so”
04-12 20:00:00.241:E/Vitamio(16177):at java.lang.Runtime.load(Runtime.java:340)
04-12 20:00:00.241:E/Vitamio(16177):在java.lang.System.load(System.java:507)
04-12 20:00:00.241:E/Vitamio(16177):在io.vov.Vitamio.MediaPlayer。(MediaPlayer.java:100)
04-12 20:00:00.241:E/Vitamio(16177):在io.vov.Vitamio.MediaPlayer。(MediaPlayer.java:78)
04-12 20:00:00.241:E/Vitamio(16177):在io.vov.Vitamio.widget.VideoView.openVideo(VideoView.java:221)
04-12 20:00:00.241:E/Vitamio(16177):在io.vov.Vitamio.widget.VideoView.access$29(VideoView.java:209)
04-12 20:00:00.241:E/Vitamio(16177):在io.vov.Vitamio.widget.VideoView$9.surfaceCreated(VideoView.java:461)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.SurfaceView.updateWindow(SurfaceView.java:569)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.SurfaceView.access$000(SurfaceView.java:86)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.SurfaceView$3.onPreDraw(SurfaceView.java:174)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:680)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.ViewRootImpl.performTraversals上(ViewRootImpl.java:1842)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.Choreographer.doCallbacks(Choreographer.java:562)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.Choreographer.doFrame(Choreographer.java:532)
04-12 20:00:00.241:E/Vitamio(16177):在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
04-12 20:00:00.241:E/Vitamio(16177):在android.os.Handler.handleCallback(Handler.java:725)上
04-12 20:00:00.241:E/Vitamio(16177):在android.os.Handler.dispatchMessage(Handler.java:92)上
04-12 20:00:00.241:E/Vitamio(16177):在android.os.Looper.loop(Looper.java:137)
04-12 20:00:00.241:E/Vitamio(16177):在android.app.ActivityThread.main(ActivityThread.java:5227)
04-12 20:00:00.241:E/Vitamio(16177):位于java.lang.reflect.Method.Invokenactive(本机方法)
04-12 20:00:00.241:E/Vitamio(16177):位于java.lang.reflect.Method.invoke(Method.java:511)
04-12 20:00:00.241:E/Vitamio(16177):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
04-12 20:00:00.241:E/Vitamio(16177):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
04-12 20:00:00.241:E/Vitamio(16177):在dalvik.系统NativeStart.main(本地方法)
我已经解决了这个问题!:)
首先,我已经添加到清单中
<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" />
这是我的onCreate():
newasynctask(){
@凌驾
受保护的void onPreExecute(){
//mPD=新建ProgressDialog(InitActivity.this);
//mPD.可设置可取消(错误);
//PD.setMessage(getString(R.string.vitamio_init_解码器));
//mPD.show();
}
@凌驾
受保护的布尔doInBackground(对象…参数){
返回Vitamio.initialize(MyMapActivity.this);
}
@凌驾
受保护的void onPostExecute(布尔初始化){
//如果(初始化){
//uiHandler.sendEmptyMessage(0);
// }
}
}.execute();
您不是真的想解析“这是我的url”,是吗?你得到的错误是什么?当然不是:)我有视频流的链接。你是在设备或模拟器上测试的吗?还要看看这个线程是否有帮助:@KenWolf谢谢,这很有帮助:))
<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" />
new AsyncTask<Object, Object, Boolean>() {
@Override
protected void onPreExecute() {
// mPD = new ProgressDialog(InitActivity.this);
// mPD.setCancelable(false);
// PD.setMessage(getString(R.string.vitamio_init_decoders));
// mPD.show();
}
@Override
protected Boolean doInBackground(Object... params) {
return Vitamio.initialize(MyMapActivity.this);
}
@Override
protected void onPostExecute(Boolean inited) {
// if (inited) {
// uiHandler.sendEmptyMessage(0);
// }
}
}.execute();