Derzeit arbeite ich an Streaming-Audio zu Unity über das Netzwerk, ich integrierte Medienbibliothek (GStreamer) erfolgreich mit Unity und ich konnte das Audio in der Umgebung mit Audio-Filter Rückruffunktion zu spielen Audiosource:Echtzeit-3D-Audio-Streaming und Wiedergabe
void OnAudioFilterRead(float[] data, int channels)
{
// fill data array with the streamed audio data
//....
}
die bisherige Funktion bereitgestellt 2D Audio-Wiedergabe mit sehr geringer Latenz,
in meiner Anwendung mag ich die Audio-in 3D Spatial Raum machen, so dass die Audiowiedergabe wird auf der Kamera abhängig sein (Audio Zuhörer) Orientierung.
I Audiodaten in Audioclip mit der folgenden Stream versucht:
AudioClip TargetClip;
public AudioSource TargetSrc;
void Start()
{
int freq=32000; //streamed audio sampling rate
TargetClip = AudioClip.Create ("test_Clip", freq, 1, freq, true,true, OnAudioRead,OnAudioSetPosition);
TargetSrc.clip = TargetClip;
TargetSrc.Play();
}
void OnAudioRead(float[] data) {
// fill data array with the streamed audio data
//....
}
void OnAudioSetPosition(int newPosition) {
}
Wenn ich den Ton gespielt, das Audio wurde gemacht, als ich in 3D-Raumraum wollte, jedoch gab es eine riesige Latenzzeit (mehr als 2 Sekunden).
Gibt es eine Möglichkeit, das Latenzproblem zu lösen?
Haben Sie sich die [Manual Pages] (https://docs.unity3d.com/Manual/AudioSpatializerSDK.html) angesehen? Es gibt ein sehr gutes Audio-Plugin namens [Propagate] (https://www.assetstore.unity3d.com/en/#!/content/40200), das helfen könnte. – Rob