2016-08-12 2 views
1

Ich versuche, einige Sounds im OGG-Format in meinem Spiel zur Laufzeit in einem WebGL-Build zu laden. Ich verwende eine WWW-Klasse, um die Datei mit der Erweiterung ".ogg" zu holen, und rufe dann www.audioClip an, um die heruntergeladene Datei zu erhalten. Dies funktioniert auf anderen Plattformen, schlägt aber in WebGL fehl.Laden externe OGG-Datei in Unity WebGL Build zur Laufzeit

Unity wirft diese Fehlermeldung auf: "Streaming von ogg auf dieser Plattform wird nicht unterstützt". Seltsam, da ich nicht versuche, es zu streamen, und ich habe versucht, GetAudioClip(false, false, AudioType.OGGVORBIS) explizit aufzurufen und habe das gleiche Ergebnis erhalten.

Ich habe versucht, meine OGG-Datei zu AAC konvertieren (mit M4A und MP4-Erweiterungen) und laden mit www.audioClip (Fehler, dass es den Dateityp von der URL nicht bestimmen) und www.GetAudioClip(false, false, AudioType.MPEG) (kein Fehler, aber auch kein Ton). Einer Lösung, die ich online gesehen habe, kommt am nächsten, dass ich stattdessen MP3 benutze, aber das möchte ich aus Lizenzgründen nicht tun.

Ist WebGL in Unity auf Audiodateien beschränkt, die in die Anwendung integriert sind?

Antwort

0

Versuch:

WWW data = new WWW (url); yield return data; 
AudioClip ac = data.GetAudioClipCompressed(false, AudioType.AUDIOQUEUE) as AudioClip; 
if(ac != null) 
{ 
    ac.name = "mySoundFile.ogg"; 
    gameObject.GetComponent<AudioSource>().clip = ac; 
} 
else 
{ 
    gameObject.GetComponent<AudioSource>().clip = null; 
    Debug.Log("no audio found."); 
} 

Werke für mich mit Ogg-Dateien.

Verwandte Themen