由于开发人员控制台中的安全问题,我按照谷歌的要求将Vitamio 4.2.2更新到5.0.0。但是使用相同的代码,它会崩溃,如下所示:
java.lang.UnsatisfiedLinkError: dlopen failed: library "nulllibstlport_shared.so" not found
at java.lang.Runtime.load(Runtime.java:332)
at java.lang.System.load(System.java:981)
at io.vov.vitamio.MediaPlayer.<clinit>(MediaPlayer.java:257)
at io.vov.vitamio.widget.VideoView.openVideo(VideoView.java:431)
at io.vov.vitamio.widget.VideoView.setVideoURI(VideoView.java:403)
at io.vov.vitamio.widget.VideoView.setVideoURI(VideoView.java:396)
at io.vov.vitamio.widget.VideoView.setVideoPath(VideoView.java:392)
at com.mypackage.myapp.LiveStreamActivity$LiveStreamParse.onPostExecute(LiveStreamActivity.java:131)当我调用videoView.setVideoPath(liveStreamUrl);时发生崩溃,如下所示:
VideoView videoView = (VideoView) findViewById(R.id.vvSurface);
videoView.setVideoPath(liveStreamUrl);
final MediaController mediaController = new MediaController(LiveStreamActivity.this);
videoView.setMediaController(mediaController);
videoView.setVideoLayout(VideoView.VIDEO_LAYOUT_STRETCH, 0);
videoView.requestFocus();
videoView.start();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setPlaybackSpeed(1.0f);
}
});当我查看Vitamio 5.0.0的示例时,VideoView没有任何变化。所以看起来Vitamio已经完全毁了自己。尽管他们在2015-11-02发布了这个版本,但他们仍然将SDK版本锁定在API 19上,这真是太可惜了。
除了期待Vitamio团队提供适当的答案外,对于这个不幸的问题的任何建议都将不胜感激。
发布于 2016-01-05 05:29:53
看起来你的应用程序找不到"nulllibstlport_shared.so“本地库。当涉及到本机时,指定发生问题的特定设备是很有用的。
然而,在Vitamio网站上,他们说lib目前支持: ARMv6,VFP,ARMv7,NEON,MIPS,X86等。因此,我建议您尝试强制您的应用程序仅包含受支持的ABI的原生库。
为此,您需要将此内容添加到app/build.gradle
defaultConfig {
...
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}在项目的根文件夹中,找到'android.useDeprecatedNdk=true'文件并添加gradle.properties文件
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
...
# org.gradle.parallel=true
android.useDeprecatedNdk=true但我真的不知道这是否会有帮助。
发布于 2016-01-08 03:45:55
Vitamio5.0中没有LibsCheck类。它需要在onCreate函数中运行。
看起来Vitamio 5.0并没有得到满足。它不使用ffmpeg库,无法播放。
发布于 2016-01-11 14:47:16
延迟回复,
但这是可行的(至少在我犯了同样的错误时对我有效)
Vitamio.isInitialized(this);或
Vitamio.isInitialized(getApplicationContext());在您的活动的onCreate中。
https://stackoverflow.com/questions/34599764
复制相似问题