android - 使用 Vitamio lib 运行代码时强制关闭

标签 android media-player

public class LiveVideoPlayerActivity extends Activity {

    VideoView videoView;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String httpLiveUrl = "http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8";

        videoView = (VideoView) findViewById(R.id.myVideoView);
        videoView.setVideoURI(Uri.parse(httpLiveUrl));
        videoView.setMediaController(new MediaController(this));
        videoView.requestFocus();
        videoView.start();
    }
}

当我运行代码时,会出现强制关闭窗口。我正在为媒体使用 Vitamio 库。有帮助吗?

03-22 11:23:04.723: D/AndroidRuntime(275): Shutting down VM
03-22 11:23:04.723: W/dalvikvm(275): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
03-22 11:23:04.753: E/AndroidRuntime(275): FATAL EXCEPTION: main
03-22 11:23:04.753: E/AndroidRuntime(275): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.liveplayer/android.liveplayer.LiveVideoPlayerActivity}: java.lang.ClassCastException: android.widget.VideoView
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.os.Looper.loop(Looper.java:123)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.ActivityThread.main(ActivityThread.java:4627)
03-22 11:23:04.753: E/AndroidRuntime(275):  at java.lang.reflect.Method.invokeNative(Native Method)
03-22 11:23:04.753: E/AndroidRuntime(275):  at java.lang.reflect.Method.invoke(Method.java:521)
03-22 11:23:04.753: E/AndroidRuntime(275):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-22 11:23:04.753: E/AndroidRuntime(275):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-22 11:23:04.753: E/AndroidRuntime(275):  at dalvik.system.NativeStart.main(Native Method)
03-22 11:23:04.753: E/AndroidRuntime(275): Caused by: java.lang.ClassCastException: android.widget.VideoView
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.liveplayer.LiveVideoPlayerActivity.onCreate(LiveVideoPlayerActivity.java:20)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-22 11:23:04.753: E/AndroidRuntime(275):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
03-22 11:23:04.753: E/AndroidRuntime(275):  ... 11 more

最佳答案

您需要更改 xml 中的 VideoView 才能使用 Vitamio 视频 View ,因此您的 xml 应该是

<io.vov.vitamio.widget.VideoView
        android:id="@+id/videoView"
                                  />

请注意“io.vov.vitamio.widget.VideoView”,而不仅仅是 VideoView。那是因为您使用的是 Vitamio 的自定义版本,而不是普通的 Android 版本。

关于android - 使用 Vitamio lib 运行代码时强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817581/

相关文章:

ios - 显示从图库中选择的视频作为预览

android - 已知流媒体 mp3 链接,正确的 Android 版本。流式传输有什么问题?

java - 如何在vlcj中使用 "MediaPlayer"准备播放列表?

android - react-native - 在 css StyleSheet 中添加公式会影响性能吗?

android - 如何从 FCM token 获取 Firebase 用户 ID? (在服务器上的管理员代码中)

java - 查询特定联系人的未读文本 Android

android - 清除 fragment 返回堆栈编程

android - 无法使用 adb shell setprop 在 Android 设备上更改时区

android - 使用服务中的媒体播放器在后台播放视频

java - SoundPool 和 MediaPlayer 中的并发性?