MediaPlayer: error (1, -2147483648)
MediaPlayer(362): error (-38, 0)
在android开发中,经常会用到MediaPlayer。
在使用MediaPlayer时,有时候会遇到:类似的错误。
这时,需要检查一下在设置MediaPlayer的数据源时,使用的是那种方式:
1.在初始化MediaPlayer时,通过create方法设置数据源。则不能写MediaPlayer.prepare()方法,这时,会报错。
2.如果是使用MediaPlayer构造函数初始化MediaPlayer,然后通过setDataSource方法设置数据源时,就需要在start()之前,使用MediaPlayer.prepare()方法,对数据源进行一次编译。能够避免出现(-38,0)这种错误。
3.如果出现MediaPlayer: error (1, -2147483648)这种错误,在logcat中查看是否又io的异常,如果有请检查:1、文件的操作权限,2、是否还有别的进程在操作读取的目标文件(例如,刚刚录制声音的mediarecord是否释放)
4.如果是apk里,写好的文件。可能还需要“"chmod 777 ”修复一下权限。
try {
String command = "chmod 777"+ audioFile.getAbsolutePath();
Runtime runtime = Runtime.getRuntime();
java.lang.Process proc = runtime.exec(command);
} catch (IOException e) {
e.printStackTrace();
}