несколько видео на OculusGo, Android - приложение падает - PullRequest
0 голосов
/ 22 ноября 2018

[EDITED] Я готовлю приложение для OculusGo = Android. В сцене 4 символа, представленных видеоклипами.Размер видео от 10 МБ до 30 МБ.

Все видео с помощью шейдера GoogleVR / Unlit / TransparentOverlay Видео были закодированы в WebM / VP9 / сохраняют альфа-код с помощью Adobe.Видео транскодируется в единстве с Android, VP8 (снова).

Видео, загруженные из папки ресурсов в начале сцены, а затем, когда пора их воспроизвести, вызывается VideoPlayer.Play () из каждого из них, и, наконец, все они воспроизводятся вместе.(Начните один за другим и продолжайте вместе).

Проблема в том, что мое приложение падает, когда должно воспроизводиться третье видео.Он не падает, когда я «готовлю» видео, а только на «VideoPlayer.Play ()»

Вот мой текущий код:

public float waiting;
public AudioSource characterAudio;

VideoPlayer videoPlayer;
bool videoStarted = true;

void Awake () {

    videoPlayer = GetComponent<VideoPlayer>();
}

private void Update()
{
    if (characterAudio != null)
    {
        if (characterAudio.isPlaying && videoStarted)
        {
            StartCoroutine(StartVideo());
            videoStarted = false; 
            Debug.Log(characterAudio.name + " called once from update");
        }
    }
}

IEnumerator StartVideo()
{
    yield return new WaitForSeconds(waiting);
    videoPlayer.enabled = true;
    videoPlayer.Prepare();
    while(!videoPlayer.isPrepared)
    {
        Debug.Log("video is preparing");
        yield return null;
    }

    videoPlayer.Play();
    Debug.Log("videoStarted, char name is: " + characterAudio.name);
}

Это ошибки, которые я получаюlogcat (с помощью команды: logcat | grep -i unity)

ActivityManager: принудительное удаление ActivityRecord

Входной канал закрыт пользователем или произошла ошибка.events = 0x9

Канал неисправимо поврежден и будет удален!

InputDispatcher: Попытка отменить регистрацию уже незарегистрированного входного канала

Пожалуйста, помогите, я пытался две недели для одновременного запуска этих видео.

Также я читал об использовании другой ветки здесь: https://gamedev.stackexchange.com/questions/113096/how-to-not-freeze-the-main-thread-in-unity и о видео, воспроизводимых одновременно здесь: Приложение Unity зависает при загрузке нескольких видео на одной сцене

Я запустил logcat (не Unity One), и это то, что я получил сразу после окончания подготовки видео:

Снимок экрана с терминала

...