![](/img/trans.png)
[英]Which Context to use with MediaPlayer.create() in android?
[英]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.