部分用户和特定设备会偶尔出现'MediaRecorder.prepare()-FileNotFoundException”异常。
创始人
2024-12-24 09:30:39
0

在开始录制前,确保已经创建好要保存录音文件的文件夹和文件,并且已经获取了写文件的权限。调用MediaRecorder的setOutputFile()方法时,传入一个已存在的文件路径。示例代码如下:

String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recordings/"; String fileName = "recording_" + System.currentTimeMillis() + ".mp3"; File file = new File(filePath, fileName);

if (!file.exists()) { file.mkdirs(); } if (!file.canWrite()) { Log.e("MediaRecorder", "Cannot write to file"); return; }

try { mediaRecorder = new MediaRecorder(); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); mediaRecorder.setAudioChannels(1); mediaRecorder.setAudioSamplingRate(44100); mediaRecorder.setAudioEncodingBitRate(192000); mediaRecorder.setOutputFile(file.getAbsolutePath()); mediaRecorder.prepare(); } catch (IOException e) { e.printStackTrace(); }

在上述代码中,首先获取了一个保存录音文件的目录和文件名,然后创建该目录和文件。如果文件已经存在,就不需要再次创建,否则需要调用mkdirs()方法创建目录。接着检查文件是否可写,如果不可写直接返回。最后将输出文件的路径传递给MediaRecorder的setOutputFile()方法即可。

相关内容

热门资讯

透视揭幕"wepok... 透视揭幕"wepoker数据分析"本来是真的辅助技巧(哔哩哔哩)1、首先打开wepoker数据分析辅...
透视解迷"wepok... 透视解迷"wepoker透视脚本免费"原来真的是有辅助方法(哔哩哔哩)1、这是跨平台的wepoker...
透视曝光"We po... 透视曝光"We poker辅助器下载"总是是有辅助软件(哔哩哔哩)进入游戏-大厅左侧-新手福利-激活...
透视详细"聚星ai辅... 透视详细"聚星ai辅助工具激活码"确实真的有辅助app(哔哩哔哩)1)聚星ai辅助工具激活码辅助插件...
透视科普"红龙pok... 透视科普"红龙poker辅助器免费观看"其实真的是有辅助挂(哔哩哔哩)在进入红龙poker辅助器免费...
透视详情"wepok... 透视详情"wepoker辅助器官方"切实是真的辅助软件(哔哩哔哩)1.wepoker辅助器官方 选牌...
透视辅助"拱趴游戏破... 透视辅助"拱趴游戏破解器"本来真的是有辅助神器(哔哩哔哩)拱趴游戏破解器辅助器是一种具有地方特色的麻...
透视了解"竞技联盟透... 透视了解"竞技联盟透视"都是是真的辅助软件(哔哩哔哩)1、任何竞技联盟透视透视是真的假的的玩家都可以...
透视揭露"wepok... 透视揭露"wepoker破解游戏盒子"好像是有辅助工具(哔哩哔哩)1、玩家可以在wepoker破解游...
透视开挂"哈糖大菠萝... 透视开挂"哈糖大菠萝辅助器"都是有辅助神器(哔哩哔哩)1、哈糖大菠萝辅助器辅助软件下载优化,哈糖大菠...