Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';找不到屏幕录制的视频(/sdcard/capture.mp4";)-Mediaprojection API_Java_Android_Android Studio_Android Mediaprojection_Mediaprojectionmanager - Fatal编程技术网

Java Can';找不到屏幕录制的视频(/sdcard/capture.mp4";)-Mediaprojection API

Java Can';找不到屏幕录制的视频(/sdcard/capture.mp4";)-Mediaprojection API,java,android,android-studio,android-mediaprojection,mediaprojectionmanager,Java,Android,Android Studio,Android Mediaprojection,Mediaprojectionmanager,我仍然是安卓应用程序开发方面的大人物,我正在尝试使用MediaProjectionAPI记录我的屏幕。。我现在面临的问题是。。录制后,我在定义的位置(sdcard/capture.mp4)找不到视频文件。。下面是代码的一部分,显示了我想保存视频的位置 private void initRecorder() { mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mMediaRecorder.setVideoS

我仍然是安卓应用程序开发方面的大人物,我正在尝试使用MediaProjectionAPI记录我的屏幕。。我现在面临的问题是。。录制后,我在定义的位置(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设备上看到过)。在运行Android 8.1.0的像素上,
Environment.getExternalStorageDirectory()
返回绝对路径“/storage/emulated/0”

因此,不是:

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");

你好,号码是4561759。。谢谢你的支持。。我尝试了上述方法,但仍然找不到视频。。。代码中没有任何错误,我也尝试检查Logcat,它显示没有错误。。但是从警告中我可以得到这两条线。。。。02-27 10:10:45.337 28185-28185/com.confusedbox.screensrecorder W/System:ClassLoader引用的未知路径:/data/app/com.confusedbox.screensrecorder-2/lib/arm64 02-27 10:10:46.214 28185-28243/com.confusedbox.screensrecorder W/链接器:/vendor/lib64/libhwuibp.so:未使用的DT条目:键入0xf arg 0xe3a并从Info。。我可以得到这些线路……02-27 10:10:45.255 28185-28185/?I/art:Late-enabling-Xcheck:jni 02-27 10:10:45.256 28185-28185/?I/art:Reinit属性:dalvik.vm.checkjni=false 02-27 10:10:46.023 28185-28185/com.confusedbox.screenrecorder I/HwCust:android.app.HwCustActivityImpl 02-27 10:10:46.038 28185-28185/com.confusedbox.screenrecorder I/HwCust:android.app.hwcusthwWallperManagermPl类的构造函数我正在使用的程序我从这个链接下载了。。非常感谢您的支持您是否在清单中设置了正确的写入权限?请参阅关于写入外部存储器的说明。