找不到屏幕录制的视频 (/sdcard/capture.mp4") - Mediaprojection API
Can't find screen recorded video (/sdcard/capture.mp4") - Mediaprojection API
我仍然是 android APP 开发的初学者,我正在尝试使用 Mediaprojection API 来录制我的屏幕..我现在面临的问题是..录制后我无法在定义的位置找到视频文件 (sdcard/capture.mp4) .. 下面是显示我要保存视频的位置的代码部分 ...
private void initRecorder() {
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncodingBitRate(512 * 1000);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT);
mMediaRecorder.setOutputFile("/sdcard/capture.mp4");
}
非常感谢您的支持。
这里的问题可能是"/sdcard/"。通常最好使用 Environment.getExternalStorageDirectory()
而不是“/sdcard/”,因为并非所有 Android 设备都使用它作为它们的外部存储目录(我没有在任何 Android 上看到它实际上,现在已经有一段时间了)。在我的 Pixel 运行 Android 8.1.0 上,Environment.getExternalStorageDirectory()
returns "/storage/emulated/0".[ 的绝对路径=14=]
所以代替:
mMediaRecorder.setOutputFile("/sdcard/capture.mp4");
试试这个:
String dir = Environment.getExternalStorageDirectory().getAbsolutePath();
mMediaRecorder.setOutputFile(dir + "/capture.mp4");
我通过如下行所示定义我的路径来解决上述问题...
我将下载文件夹设置为我的目的地,现在我可以看到录制的视频
注意:使用此解决方案,新视频将覆盖之前的视频。
希望这对以后的人也有帮助..
感谢 nope4561759 的贡献...
mMediaRecorder.setOutputFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/video.mp4");
我仍然是 android APP 开发的初学者,我正在尝试使用 Mediaprojection API 来录制我的屏幕..我现在面临的问题是..录制后我无法在定义的位置找到视频文件 (sdcard/capture.mp4) .. 下面是显示我要保存视频的位置的代码部分 ...
private void initRecorder() {
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncodingBitRate(512 * 1000);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT);
mMediaRecorder.setOutputFile("/sdcard/capture.mp4");
}
非常感谢您的支持。
这里的问题可能是"/sdcard/"。通常最好使用 Environment.getExternalStorageDirectory()
而不是“/sdcard/”,因为并非所有 Android 设备都使用它作为它们的外部存储目录(我没有在任何 Android 上看到它实际上,现在已经有一段时间了)。在我的 Pixel 运行 Android 8.1.0 上,Environment.getExternalStorageDirectory()
returns "/storage/emulated/0".[ 的绝对路径=14=]
所以代替:
mMediaRecorder.setOutputFile("/sdcard/capture.mp4");
试试这个:
String dir = Environment.getExternalStorageDirectory().getAbsolutePath();
mMediaRecorder.setOutputFile(dir + "/capture.mp4");
我通过如下行所示定义我的路径来解决上述问题... 我将下载文件夹设置为我的目的地,现在我可以看到录制的视频 注意:使用此解决方案,新视频将覆盖之前的视频。
希望这对以后的人也有帮助..
感谢 nope4561759 的贡献...
mMediaRecorder.setOutputFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/video.mp4");