2

我正在创建一个 android 播放器来播放 youtube 直播。我的要求是在 VLC 中播放流org.videolan.libvlc.util.VLCVideoLayout。我遵循了示例应用程序https://code.videolan.org/videolan/libvlc-android-samples。当我尝试播放 youtube 视频时,它没有播放,而只是空白屏幕。

我使用了以下代码。

1.在布局xml文件中

<org.videolan.libvlc.util.VLCVideoLayout
        android:id="@+id/vlc_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:keepScreenOn="true"
        android:fitsSystemWindows="false"
        />

2.活动课上

final ArrayList<String> args = new ArrayList<>();
args.add("--no-drop-late-frames");
args.add("--no-skip-frames");
args.add("--rtsp-tcp");
args.add("-vvv");
mLibVLC = new LibVLC(this, args);
mMediaPlayer = new MediaPlayer(mLibVLC);

mVideoLayout = findViewById(R.id.vlc_layout);
mMediaPlayer.attachViews(mVideoLayout, null, ENABLE_SUBTITLES, USE_TEXTURE_VIEW);
String url = "https://www.youtube.com/watch?v=H9mXFeGsGEE";
final Media media = new Media(mLibVLC, Uri.parse(url));
mMediaPlayer.setMedia(media);
media.release();
mMediaPlayer.play();
  1. 分级文件

repositories {
    google()
    maven {
        url "https://dl.bintray.com/videolan/Android"
    }
    jcenter()
}
dependencies {
    implementation 'org.videolan.android:libvlc-all:3.2.0'
}
  1. 如果我们提供任何其他流 url (hls),它就可以工作。但 youtube 视频不走运。

任何人都可以帮助解决它吗?

4

1 回答 1

1

对于 youtube 视频,您必须解析媒体,然后播放其子项目之一。

于 2019-11-04T03:45:13.683 回答