繁体   English   中英

Android:MediaPlayer() 到 MediaPlayer(Context context) 需要 @RequiresApi(s) 注释

[英]Android: MediaPlayer() to MediaPlayer(Context context) requires @RequiresApi(s) annotation

在我的 android 应用程序中,我以前使用过

MediaRecorder mediaRecorder = new MediaRecorder();

现在已弃用,取而代之的是MediaRecorder(Context context) 但是当我将它传递给我的应用程序上下文时,android 工作室现在要求我用相当于@RequiresApk(S)的东西来包装它,其中S目前引用了一个 android sdk 高于我的最小值(1.1)。

我应该怎么办? 我可以(或应该)改变 S 吗? 我真的不知道它来自哪里。 MediaPlayer 从早期就已经存在,所以我真的不明白为什么它需要这样的注释。

非常感谢。

采用Context参数的MediaRecorder构造函数在 API 31(“S”或 Android 12)中是新的。 如果您的代码在 API 31 之前的任何版本的 Android 上运行,它将崩溃。 这就是您收到此消息的原因。

即使不推荐使用不带参数的构造函数,您仍需要在低于 API 31 的所有 Android 版本上使用该构造函数。

已弃用的构造函数仍然存在,您仍然可以使用它。 就我个人而言,我不会担心。 如果您真的想迁移到新的构造函数,那么您需要添加代码来检查您正在运行的设备的 API 级别,并在运行 API < 31 的设备上使用较旧的(已弃用)构造函数,并且只使用较新的运行 API 31 或更高版本的设备上的构造函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM