首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用新的AndroidX Media2?

如何使用新的AndroidX Media2?
EN

Stack Overflow用户
提问于 2020-12-09 20:11:17
回答 3查看 2.1K关注 0票数 4

我正在使用媒体应用体系结构作为构建音乐播放器应用程序的指南。但是它使用了来自支持媒体-compat/ Androidx介质的类。

但是现在AndroidX Media2可以在稳定的渠道上使用,我没有看到任何关于它的消息。那是什么?

  • AndroidX Media2应该反对AndroidX Media吗?
  • 是否有AndroidX Media2的开发人员指南或其他文档来源?

请不要链接到JavaDoc,谢谢。

EN

回答 3

Stack Overflow用户

发布于 2021-02-28 15:33:44

Jetpack Media3发布了!

https://developer.android.com/jetpack/androidx/releases/media3

这篇博文很好地解释了媒体库是如何进化的。 I强烈建议androidx.media3集成。

如果由于任何原因不能使用androidx.media3,我建议坚持使用androidx.media而不是androidx.media2,因为后者不受其他媒体集成(如Connect )的支持。将Media2与ExoPlayer集成也要复杂得多。

在我看来,从Media1切换到Media2的主要好处是能够提供更细粒度的权限控制。见Jaewan Kim的博客文章,深入讨论更复杂的SessionPlayerConnector API和在media2中接受或拒绝来自控制器的连接的权限。

如果您有一个使用MediaSession的现有MediaSession实现(最好是在MediaSessionConnector中使用ExoPlayer ),并且不需要Media2中的权限控件,则可以坚持使用Media1或升级到Media3。

安卓开发峰会2021年的“AndroidX媒体和ExoPlayer的下一步是什么?”演讲在Media3上深入得多。

票数 7
EN

Stack Overflow用户

发布于 2020-12-18 12:25:48

我找到的所有文件都是无用和过时的。androidx.media和appcompat媒体库都被androidx.media2所取代(但由于某种原因没有被废弃)。媒体应用最高级的API似乎是用于服务的MediaLibraryService和前端的MediaBrowser。只需绝对确保在服务上声明正确的意图过滤器(在javadoc :p中)

票数 2
EN

Stack Overflow用户

发布于 2022-02-03 16:07:17

下面是我使用Media2库(AndroidX)的工作解决方案:

  1. 在Build.gradle中添加3个依赖项

实现“androidx.media2:media2-会话:1.2.0”实现“androidx.media 2:media2 2-小部件:1.2.0”实现"androidx.media2:media2-player:1.2.0“

  1. 创建布局activity_video_player.xml并将这些代码放入其中: match_parent match_parent
  2. 创建活动类SimpleVideoActivity:
代码语言:javascript
代码运行次数:0
运行
复制
    public class VideoPlayerActivity extends FragmentActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_video_player_android_x);
            VideoView simpleVideoView = findViewById(R.id.simpleVideoView);
            MediaMetadata mediaMetaData = new MediaMetadata.Builder().putString(MediaMetadata.METADATA_KEY_TITLE, "Put your video text here").build();
            UriMediaItem item = new UriMediaItem.Builder(Uri.parse("Put your video URL here")).setMetadata(mediaMetaData).build();
            MediaPlayer mediaPlayer = new MediaPlayer(this);
            simpleVideoView.setPlayer(mediaPlayer);
            mediaPlayer.setMediaItem(item);
            mediaPlayer.prepare();
            mediaPlayer.play();
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65224178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档