如何在 vlcj 中使用 "MediaPlayer" 准备播放列表?
How to prepare playlist using "MediaPlayer" in vlcj?
我正在使用 java swing 和 vlcj 制作桌面应用程序。我使用 MediaListPlayer class 播放播放列表,但我想在 vlcj 中使用 MediaPlayer class 来播放。如何使用 MediaPlayer class(没有 MediaListPlayer)播放播放列表?
谢谢
如果您想使用播放列表,请使用 MediaListPlayer 而不是 MediaPlayer。
MediaListPlayer 组件提供对 MediaPlayer 的访问,并提供专门用于处理播放列表的其他方法。
您还可以使用 AudioListPlayerComponent 或 EmbeddedMediaListPlayerComponent 让事情变得更简单。
GitHub 的 vlcj 项目中有一个完整的最小示例:
MediaListComponent有处理播放列表的方法,例如:
mediaListPlayerComponent.mediaListPlayer().list().media().add("/home/music/some-cool-synthwave-tune.mp3");
mediaListPlayerComponent.mediaListPlayer().list().media().add("/home/music/another-cool-synthwave-tune.mp3");
mediaListPlayerComponent.mediaListPlayer().list().media().add("/home/music/synthwave-is-the-best.mp3");
mediaListPlayerComponent.mediaListPlayer().controls().play();
如果您需要获取底层 MediaPlayer,请执行以下操作:
long length = mediaListPlayerComponent.mediaPlayer().status().length()
mediaPlayer() 方法的 return 值是您在问题中提到的 'regular' vlcj MediaPlayer。
但是您应该首先检查 MediaListPlayer 上的方法,看看它们是否更适合您的需要。
您可以使用常规的 vlcj MediaPlayer 实现您自己的播放列表 - 您只需添加一个 MediaPlayerEventListener 来处理停止或完成的事件,并在收到此类事件后播放下一个媒体。
随着即将推出的 VLC 4.x,我 认为 这是正确的,如果您需要无缝播放,则必须使用 MediaListPlayer。
我正在使用 java swing 和 vlcj 制作桌面应用程序。我使用 MediaListPlayer class 播放播放列表,但我想在 vlcj 中使用 MediaPlayer class 来播放。如何使用 MediaPlayer class(没有 MediaListPlayer)播放播放列表? 谢谢
如果您想使用播放列表,请使用 MediaListPlayer 而不是 MediaPlayer。
MediaListPlayer 组件提供对 MediaPlayer 的访问,并提供专门用于处理播放列表的其他方法。
您还可以使用 AudioListPlayerComponent 或 EmbeddedMediaListPlayerComponent 让事情变得更简单。
GitHub 的 vlcj 项目中有一个完整的最小示例:
MediaListComponent有处理播放列表的方法,例如:
mediaListPlayerComponent.mediaListPlayer().list().media().add("/home/music/some-cool-synthwave-tune.mp3");
mediaListPlayerComponent.mediaListPlayer().list().media().add("/home/music/another-cool-synthwave-tune.mp3");
mediaListPlayerComponent.mediaListPlayer().list().media().add("/home/music/synthwave-is-the-best.mp3");
mediaListPlayerComponent.mediaListPlayer().controls().play();
如果您需要获取底层 MediaPlayer,请执行以下操作:
long length = mediaListPlayerComponent.mediaPlayer().status().length()
mediaPlayer() 方法的 return 值是您在问题中提到的 'regular' vlcj MediaPlayer。
但是您应该首先检查 MediaListPlayer 上的方法,看看它们是否更适合您的需要。
您可以使用常规的 vlcj MediaPlayer 实现您自己的播放列表 - 您只需添加一个 MediaPlayerEventListener 来处理停止或完成的事件,并在收到此类事件后播放下一个媒体。
随着即将推出的 VLC 4.x,我 认为 这是正确的,如果您需要无缝播放,则必须使用 MediaListPlayer。