Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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 如何在Android中播放MediaRecorder中的视频_Java_Android_Android Mediarecorder_Android Video Player - Fatal编程技术网

Java 如何在Android中播放MediaRecorder中的视频

Java 如何在Android中播放MediaRecorder中的视频,java,android,android-mediarecorder,android-video-player,Java,Android,Android Mediarecorder,Android Video Player,我想开发一个屏幕记录器应用程序 我开发了这个,我可以从屏幕上录制,但是当我想播放这个视频时,停止录制后,向我显示以下消息: 无法播放视频。不支持的文件类型 对于录制屏幕,我使用了MediaProjectionManager、MediaProjection和MediaRecorder 我的代码: 为什么不播放我录制的视频?我如何修复它?您的视频文件大小是否不超过0字节?@RajasekaranM,不,我的朋友,此文件大小为40kb,正在您设备的普通播放器中播放?您是否收到任何错误代码,请尝试在您的

我想开发一个屏幕记录器应用程序 我开发了这个,我可以从屏幕上录制,但是当我想播放这个视频时,停止录制后,向我显示以下消息:

无法播放视频。不支持的文件类型

对于录制屏幕,我使用了MediaProjectionManager、MediaProjection和MediaRecorder

我的代码:


为什么不播放我录制的视频?我如何修复它?

您的视频文件大小是否不超过0字节?@RajasekaranM,不,我的朋友,此文件大小为40kb,正在您设备的普通播放器中播放?您是否收到任何错误代码,请尝试在您的应用程序中播放视频?@RajasekaranM,是的,我使用默认播放器播放此文件,并且不会在应用程序中显示任何错误!
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void initRecorder() {
    try {
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

        videoUri = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
                + new StringBuilder("/Rec_").append(new SimpleDateFormat("dd-MM-yyyy-hh-mm-ss").format(new Date()))
                .append(".mp4").toString();

        mediaRecorder.setOutputFile(videoUri);
        mediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT);
        mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mediaRecorder.setVideoEncodingBitRate(500 * 1000);
        mediaRecorder.setVideoFrameRate(30);

        int rotation = getWindowManager().getDefaultDisplay().getRotation();
        int orientation = ORIENTATIONS.get(rotation + 90);
        mediaRecorder.setOrientationHint(orientation);
        mediaRecorder.prepare();

    } catch (Exception e) {
    }
}