gpt4 book ai didi

android - 使用 MediaRouteButton 将视频转换到电视

转载 作者:行者123 更新时间:2023-12-03 06:14:50 24 4
gpt4 key购买 nike

我打算使用 this名为 的小型图书馆《恶作剧》 (基于 Google Cast V3 构建)在我的应用中实现视频转换功能。

我想像 this 一样实现转换 YouTube 视频一

这是我复制的代码(这应该通过 Chromecast 通过一些基于 Web 的视频 URL 在 Android TV 上播放视频):

public class MainActivity extends AppCompatActivity {
private Button playButton;
private Casty casty;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

casty = Casty.create(this)
.withMiniController();
setUpPlayButton();
setUpMediaRouteButton();
}

private void setUpPlayButton() {
playButton = (Button) findViewById(R.id.button_play);
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
casty.getPlayer().loadMediaAndPlay(createSampleMediaData());
}
});
casty.setOnConnectChangeListener(new Casty.OnConnectChangeListener() {
@Override
public void onConnected() {
playButton.setEnabled(true);
}

@Override
public void onDisconnected() {
playButton.setEnabled(false);
}
});
}

private void setUpMediaRouteButton() {
MediaRouteButton mediaRouteButton = (MediaRouteButton) findViewById(R.id.media_route_button);
casty.setUpMediaRouteButton(mediaRouteButton);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
casty.addMediaRouteMenuItem(menu);
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

private static MediaData createSampleMediaData() {
return new MediaData.Builder("http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4")
.setStreamType(MediaData.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMediaType(MediaData.MEDIA_TYPE_MOVIE)
.setTitle("Sample title")
.setSubtitle("Sample subtitle")
.addPhotoUrl("https://peach.blender.org/wp-content/uploads/bbb-splash.png?x11217")
.build();
}
}

注意:我还没有检查它,因为我没有测试转换功能所需的东西......比如 Chromecast 和电视

我的要求

而不是一些 Web based Video URL , 如果我想使用相同的库转换 Youtube 视频,我希望我的 code should look喜欢与否:
return new MediaData.Builder("https://www.youtube.com/watch?v=RKjUPQCXnsM")

我有两个问题:
  • 我是否需要保留播放和暂停按钮(如果是 YouTube 视频)?

  • 我的想法:我个人认为,我不需要单独使用播放和暂停按钮来控制媒体播放(因为 YouTube 会自己处理)——我是对还是错?
  • 如果我是对的,那么我需要在何时何地使用 createSampleMediaData()方法

  • 所以你怎么想我们的 MainActivity.java应该看起来像在转换 YouTube 视频的情况下?

    不好的是,我没有电视,否则,我可以尝试很多次来完成这项工作。

    最佳答案

    如果不对设备进行测试,这将很难,因为 android tv emulator cannot be use to test the cast functionality .您可以查看有关 Get Started 的文档,以熟悉 Cast API 功能。您可能还想查看 related SO post谈论播放网络视频以转换 API。还有一个关于 video formats 列表的文件支持。

    希望这可以帮助。

    关于android - 使用 MediaRouteButton 将视频转换到电视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45684260/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com