Проблема воспроизведения видео вызывает неисправность игры на Android BuildAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема воспроизведения видео вызывает неисправность игры на Android Build

Сообщение Anonymous »

Я сталкиваюсь с странной проблемой в моем проекте Unity на Android. < /p>
В первой сцене игры я играю видео, как только игра начнет использовать видеоплайер Unity < /code>.
Вот что происходит: < /p>

Когда видео играет все, что работает, как нет, с помощью как все работает, и с вида, и с помощью, с оба, с оба, с оба, с помощью видео все работает. После того, как видео заканчивается, следующая сцена загружается, и элементы пользовательского интерфейса, такие как Canvas правильно исчезают. Понятно, что видео воспроизводится, потому что я могу слышать звук, но на экране ничего не отображается. Canvas не исчезает. Формат файла: .mp4 , размещенный в StreatingAssets .
Я также использую Graphics Jobs и многопоточный рендеринг , и я подозреваю, что они могут быть связаны. Кто -нибудь испытал подобное поведение или имел предложения о том, как исправить или отладить это?

Код: Выделить всё

public class LogoScene : MonoBehaviour
{
[SerializeField] private AudioMixer mixer;
[SerializeField] private VideoPlayer videoPlayer;
[SerializeField] private new Renderer renderer;

private void Start()
{
InitializeVideo();
}

private void InitializeVideo()
{
if (videoPlayer == null || renderer == null)
{
Debug.LogError("VideoPlayer or Renderer is not assigned!");
return;
}

string videoPath = System.IO.Path.Combine(Application.streamingAssetsPath, "LogoMotionMionik.mp4");

#if UNITY_ANDROID && !UNITY_EDITOR
videoPlayer.url = videoPath;
#else
videoPlayer.url = "file://" + videoPath;
#endif

videoPlayer.started += OnVideoStarted;
videoPlayer.loopPointReached += OnLoopPointReached;
videoPlayer.prepareCompleted += OnPrepareCompleted;
videoPlayer.errorReceived += OnVideoError;
videoPlayer.Prepare();
}

private void OnVideoError(VideoPlayer source, string message)
{
SceneManager.LoadScene(1);
}

private void OnPrepareCompleted(VideoPlayer source)
{
videoPlayer.Play();
}

private void OnVideoStarted(VideoPlayer source)
{
renderer.material.color = new Color(1f, 1f, 1f, 1f);
}

private void OnLoopPointReached(VideoPlayer source)
{
videoPlayer.started -= OnVideoStarted;
videoPlayer.loopPointReached -= OnLoopPointReached;
videoPlayer.prepareCompleted -= OnPrepareCompleted;
SceneManager.LoadScene(1);
}
}
Это также, где вещи не работают правильно в следующей сцене, если видео не может играть должным образом.

Код: Выделить всё

public void LoadScene(Scene scene, float fadeDelay = 0, float waitTime = 0)
{
if (SceneManager.GetActiveScene().name == scene.ToString()) return;

_canvasGroup.blocksRaycasts = true;
Application.backgroundLoadingPriority = ThreadPriority.High;

StartCoroutine(LoadSceneEnum(scene, fadeDelay, waitTime));
}

private IEnumerator LoadSceneEnum(Scene scene, float fadeDelay = 0, float waitTime = 0)
{
DOTween.Kill(_canvasGroup);
yield return _canvasGroup.DOFade(1, .3f).SetDelay(fadeDelay).SetEase(Ease.Linear).WaitForCompletion();

if (waitTime > 0)
yield return new WaitForSeconds(waitTime);

yield return null;

var asyncOperation = SceneManager.LoadSceneAsync(scene.ToString(), LoadSceneMode.Single);
asyncOperation.allowSceneActivation = false;

while (asyncOperation.progress < 0.9f)
{
yield return null;
}

yield return SceneActivationDelay;

asyncOperation.allowSceneActivation = true;

while (!asyncOperation.isDone)
{
yield return null;
}

👉_canvasGroup.DOFade(0, 1f);

**This code is where things don't work correctly, and the Canvas doesn't fade in if the video in the previous scene didn't play properly.**

Application.backgroundLoadingPriority = ThreadPriority.Low;
}
Любая помощь будет высоко оценена!

Подробнее здесь: https://stackoverflow.com/questions/796 ... roid-build
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вопреки воспроизведения консоли: обновите зависимость от игры Maven для Android 14, совместимой версии
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Неисправность scanf printf в C++, отрывок кода из «Соревновательного программирования 4»
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Неисправность системы охлаждения при использовании NixOS [закрыто]
    Anonymous » » в форуме Linux
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Неисправность датчиков робота
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • C ++ сегментация неисправность на Hello World, Cin и Cout
    Anonymous » » в форуме C++
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»