- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Vitamio VideoView 在我的应用程序中播放流媒体视频。我已经下载了 vitamio 演示应用程序,它在我的网址上运行良好。但是,当我尝试在我的应用程序中使用它时,它会在“mVideoView.setVideoURI(Uri.parse(path));”之后崩溃
public void play ()
{
LinearLayout VideoView = (LinearLayout) findViewById(R.id.videoview);
VideoView.setVisibility(View.VISIBLE);
String path = "here is my url";
mVideoView = (VideoView) findViewById(R.id.surface_view1);
mVideoView.setVideoURI(Uri.parse(path));
MediaController mediaController = new MediaController(this);
mVideoView.setMediaController(mediaController);
mVideoView.requestFocus();
mVideoView.start();
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// optional need Vitamio 4.0
//mediaPlayer.setPlaybackSpeed(1.0f);
}
});
}
这是我的 videoview 在 main.xml 中的布局:
<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)
最佳答案
我已经解决了这个问题! :)
首先我已经添加到 list 中
<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():
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();
关于java - Vitamio VideView 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033385/
我正在成功使用Vitamio bundle 包传输音频,但是在某些情况下,我必须播放本地音频。在 MediaPlayerDemo_Audio Activity 中,代码表示在这种情况下,如果您要播放音
我尝试流式传输(渐进式,例如:http://server.com/video.mp4) 当我使用标准的谷歌媒体播放器(android 包中的 VideoView)并注册一个 onBufferingUp
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我正在玩 Vitamio 演示,喜欢我所看到的。但是,我需要稍微自定义 ffmpeg 源代码(修改 http.c,以便将 http 流的默认设置设置为不可搜索)。我已按照步骤 HERE为了重建 lib
有没有人成功修改过Vitamio中使用的ffmpeg的版本?我已经应用了一个适用于 linux 的补丁,并将其编译为适用于 android 的 libffmpeg.so。如何让 Vitamio 从这个
我使用 Vitamio 库为 Android 手机制作 RTSP 流媒体应用程序。现在我需要为播放器创建一个播放/暂停按钮。通常我可以使用 mVideoView.setMediaController(
我使用 vitamio player(5.0.0 版)在我的 android 应用程序中播放一些视频。视频播放过程中,视频标题显示在屏幕底部。如何从屏幕上删除或更改此文本? 第二个问题 - 如何在 v
我成功安装了Zi库和VitamioBundle,但是无法编译VitamioDemo示例。 Eclipse 说方法 setVideoPath、setVideoQuality、setMediaContro
我正在尝试播放原始文件夹中的 mp4 视频。它在原生视频播放器中运行良好,但当我尝试使用 vitamio 播放它时,它对我不起作用。有什么方法可以使用 vitamio 库从 android 中的原始文
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我编辑 VideoViewDemo 是因为我需要两个(或更多)相同布局的流 rtsp。 我使用带有两个 VideoView 的相对布局,并在 VideoViewDemo 中添加代码来填充每个表面。 结
我正在考虑在 Android 中制作视频应用。我开始知道有两个著名的库,FFMPEG 和 Vitamio。 我只想知道我可以使用这两个库执行简单的视频功能,例如播放视频、抓取帧、将视频转换为 mp3
我正在编写 Android 应用程序,它使用来自服务器的 HLS 视频流,有时来自本地文件。 哪个更容易实现?哪一个具有更好的性能和功能?我想知道exoplayer和vitamio(标准版)的优缺点。
我正在尝试使用 Vitamio要运行 RTSP 视频流,我在更新它以通过 VideoViewDemo Activity 运行流后使用 Vitamio-sample: public class Vide
我正在尝试使用 Vitamio VideoView 在我的应用程序中播放流媒体视频。我已经下载了 vitamio 演示应用程序,它在我的网址上运行良好。但是,当我尝试在我的应用程序中使用它时,它会在“
我正在使用 Vitamio 插件播放直播。它运作良好。但我无法自定义其 VideoPlayer。任何人都可以告诉我如何: 1/加载流媒体时自动播放。我正在使用这段代码,但效率不高 mVideoView
大约一周后……我想是时候问问 SO 社区了 :) 现在我已经有一个工作(正在进行中)插件已经做到了这一点。 扩展 CordovaPlugin 的 java 文件: Intent objIntent =
我正在做一个项目,必须使用Aes128(Rijndael)方法播放加密文件!并且不应该一开始就完全解密文件并全部播放。我必须解密并即时播放 512 字节 block 的文件。 如何使用 vitamio
我正在尝试使用 Vitamio SDK,但是当我将库添加到我的项目时,apk 变得太大(大约 20Mb 或更大)。 我将库作为项目添加到 Eclipse 中。 我想,我应该添加 .jar 库,但是当我
我编辑了VideoViewDemo.java(官网提供的Android Vitamio demo),目的是添加cookies到Vitamio生成的请求头中。 (标题是在使用方法“setVideoPat
我是一名优秀的程序员,十分优秀!