我正在尝试使用JwPlayer chromecast投射视频。视频网址带有哈希键,没有任何扩展名,它可以在移动应用中播放,但在投射时会抛出错误,提示不支持的视频格式。我在下面粘贴了我的代码。如果我使用具有扩展名的任何其他视频URL,则为强制转换,但使用给定的URL将无法播放视频。
JWPlayerFragment fragment = (JWPlayerFragment) getFragmentManager().findFragmentById(R.id.playerFragment);
JWPlayerView playerView = fragment.getPlayer();
PlaylistItem video = new PlaylistItem();
MediaSource mediaSource = new MediaSource();
mediaSource.setType(MediaType.MP4);
mediaSource.setFile("url");
video.setSources(Collections.singletonList(mediaSource));
playerView.load(video);
CastManager.getInstance().addMediaRouterButton(chromecastBtn);
playerView.play();
我还尝试使用其他库在设置Mime类型的地方进行投射
// implementation 'pl.droidsonroids:casty:1.0.8'
Casty casty = Casty.create(this);
casty.setUpMediaRouteButton(chromecastBtn);
MediaData mediaData = new MediaData.Builder(mediaSource.getFile())
.setStreamType(MediaData.STREAM_TYPE_BUFFERED) //required
.setContentType("video/mp4") //required
.setMediaType(MediaData.MEDIA_TYPE_MOVIE)
.setTitle("title")
.setSubtitle("subtitle")
.build();
casty.getPlayer().loadMediaAndPlay(mediaData);