Приложение для видеозаписи Android - ошибка «Видео не воспроизводится» - PullRequest
0 голосов
/ 26 февраля 2019

Я разработал приложение для Android для записи видео.Приложение работает на моем мобильном телефоне , записанное видео можно воспроизводить на других устройствах вместе с телефоном.Однако я должен установить это приложение на образ Android-X86. Устройство Lenevo Ideapad 330 .Приложение работает очень плавно и может записывать видео.Однако, хотя я пытаюсь воспроизвести записанное видео на том же (и других) устройстве, оно показывает - видео не может воспроизводиться.Размер файла достаточно велик.

Ниже приведен исходный код Media Recorder-

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    if (mNextVideoAbsolutePath == null || mNextVideoAbsolutePath.isEmpty()) {
        mNextVideoAbsolutePath = getVideoFilePath(getActivity());
    }
    mMediaRecorder.setOutputFile(mNextVideoAbsolutePath);
    mMediaRecorder.setVideoEncodingBitRate(10000000);
    mMediaRecorder.setVideoFrameRate(30);
    //mMediaRecorder.setVideoEncodingBitRate(1000000);
    //mMediaRecorder.setVideoFrameRate(18);
    mMediaRecorder.setVideoSize(mVideoSize.getWidth(), mVideoSize.getHeight());
    //mMediaRecorder.setVideoSize(1280, 720);
    //mMediaRecorder.setVideoFrameRate(30);
    mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
    switch (mSensorOrientation) {
        case SENSOR_ORIENTATION_DEFAULT_DEGREES:
            mMediaRecorder.setOrientationHint(DEFAULT_ORIENTATIONS.get(rotation));
            break;
        case SENSOR_ORIENTATION_INVERSE_DEGREES:
            mMediaRecorder.setOrientationHint(INVERSE_ORIENTATIONS.get(rotation));
            break;
    }

    mMediaRecorder.prepare();

При использовании других методов могут не возникнуть проблемы, поскольку запись видео в телефоне работает без сбоев.

Мне интересно, может ли проблема быть связана с форматом вывода или VideoEncoder.Я пробовал несколько кодеров, включая 3GPP, VP8, H263.Пока не повезло.

Любая помощь высоко ценится.Спасибо.

...