No virtual method setOutputFile Ljava/io/File V in class Landroid/media/MediaRecorder
今天在使用MediaRecorder
時進行音訊錄製時報錯 java.lang.NoSuchMethodError: No virtual method setOutputFile(Ljava/io/File;)V in class Landroid/media/MediaRecorder; or its super classes (declaration of ‘android.media.MediaRecorder’ appears in /system/framework/framework.jar) 如下圖:
解決過程
如圖錯誤的原因就是在使用MediaRecorder
的setOutputFile(file)
傳入一個File檔案時報錯,
但是仔細看了一下seOutputFIile
有三個過載方法,如下圖
這就鬱悶了,傳入File檔案物件就報錯,系統api有問題嗎,然後就是將引數改成圖中所示,傳入檔案的絕對路徑,String型別試試,發現沒問,解決了,事後查了查原因,在SDK 26之前setOutputFile()
方法中引數沒有File過載方法,如下圖
即在API 版本小於26時,只有以上兩個過載方法,那麼如果想要使用此方法傳入file檔案則需加上校驗:即可解決
//設定輸出檔案
if(Build.VERSION.SDK_INT < 26){
//若api低於26,呼叫setOutputFile(String path)
mediaRecorder.setOutputFile(file.getAbsolutePath());
}else{
//若API高於26 使用setOutputFile(File path)
mediaRecorder.setOutputFile(file);
}
特此記錄一下。
相關文章
- java.lang.NoSuchMethodError:Nostatic method init(Landroid/content/Context;Ljava/lang/String;Ljava/laJavaErrorAndroidContext
- C# [method Modifiers] abstract virtual override newC#IDE
- 反射--Class物件功能--獲取Method反射物件
- Java IO1:IO和FileJava
- java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/Typ...JavaErrorAndroidContext
- File與IO基礎
- 18. Java IO: FileJava
- It is indirectly referenced from required .class fileUI
- How to Convert Class File to Java File Online?Java
- NHibernate “login: method get_Upwd should be virtual”錯誤解答!
- EJB裡使用了file io,執行正常,但是沒有執行file io操作???
- 一文理解class.getClassLoader().getResourceAsStream(file)和class.getResourceAsStream(file)區別
- Restricting a Method to Class-Only o Instance-OnlyREST
- Attempt to invoke virtual method ‘int android.view.View.getImportantForAccessibility()‘ on a null obAndroidViewImportNull
- v$datafile.file#與v$tempfile.file#區別
- Android中MediaRecorderAndroid
- aix file system, io 最佳化AI
- [Ljava.lang.StringJava
- ScalaSigParserError: Unexpected error: Not a valid class fileError
- java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Intent.getI...JavaNullExceptionAndroidIntent
- class_model v2
- Using V$BACKUP_ASYNC_IO / V$BACKUP_SYNC_IO to Monitor RMAN PerformanceORM
- ORA-29531: no method get_crlf in class oracle/plsql/net/TCPConnectionOracleSQLTCP
- 錯誤:Dx unsupported class file version 52.0(解決)
- 急!!Error Parsing EJB file: Finder found in DD with no matching method.Error
- MIT6.0001 筆記,LECTURE 8:Object Oriented Programming (class,object,method)MIT筆記Object
- 【Java基礎知識】Java反射--Class、Constructor、Filed、Method類的使用Java反射Struct
- java.io.File中mkdir()和mkdirs()區別Java
- 如何處理SAP CRM Web Service錯誤 - Virtual Interface Method XXXX not supportedWeb
- 原創:java.lang.UnsupportedClassVersionError: Bad version number in .class fileJavaError
- Decomplied class file,bytecode version 52 0(Java 8)Java
- 10.26 V$SESSION_WAIT_CLASSSessionAI
- Plex Media Server for Mac(個人媒體軟體) v1.21.1.3842ServerMac
- android音視訊指南-MediaRecorder概述Android
- 從v$diag_info定位trace file
- 【TUNE_ORACLE】等待事件之IO等待“db file parallel write”Oracle事件Parallel
- Java程式設計基礎20——異常&IO(File類)Java程式設計
- Java io.File應用(建立路徑和檔案)Java