Maison > développement back-end > C++ > Pourquoi mon Unity VideoPlayer ne joue-t-il pas audio sur Windows 10?

Pourquoi mon Unity VideoPlayer ne joue-t-il pas audio sur Windows 10?

Barbara Streisand
Libérer: 2025-01-29 10:41:09
original
598 Les gens l'ont consulté

Why Is My Unity VideoPlayer Not Playing Audio on Windows 10?

Résolvez le problème de la lecture audio dans l'unité Videoplayer sur Windows 10

API VideoPlayer et VideoClip d'Unity fournit un moyen puissant de lire des vidéos dans le projet. Cependant, certains utilisateurs ont rencontré des problèmes de lecture audio sur la plate-forme de bureau.

Description du problème:

Un développeur Unity ne peut pas lire de l'audio lors de l'utilisation de l'API VideoPlayer sur Windows 10, même si la vidéo peut être affichée normalement.

Solution:

Après enquête, il est constaté que l'ordre correct des attributs audio est essentiel pour une lecture audio réussie. La modification suivante du fragment de code fourni a résolu ce problème:

En définissant le mode de sortie audio et les attributs de piste audio avant d'appeler préparez (), la lecture audio est désormais activée.

Autres conseils:
<code class="language-c#">// 在准备视频之前将音频输出设置为AudioSource
videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;

// 启用音频轨道并设置目标AudioSource
videoPlayer.EnableAudioTrack(0, true);
videoPlayer.SetTargetAudioSource(0, audioSource);

// 准备视频
videoPlayer.Prepare();</code>
Copier après la connexion

Si le message de journal "en cours de préparation" est conservé indéfiniment, veuillez envisager d'ajouter un délai d'attente au temps pour empêcher le script de stagnation:

  • Assurez-vous que le format vidéo pris en charge est compatible avec votre plate-forme cible. Voir le document d'Unity pour obtenir une liste complète des formats de support.
Si nécessaire, vous pouvez utiliser le format URL de la plate-forme pour lire des vidéos directement à partir du dossier StreamingAssets:
<code class="language-c#">WaitForSeconds waitTime = new WaitForSeconds(5);
while (!videoPlayer.isPrepared)
{
    Debug.Log("正在准备视频");
    yield return waitTime;
    break;
}</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal