void Update()
 {
     // Update occlusion state.
     if (!occlusionEnabled)
     {
         currentOcclusion = 0.0f;
     }
     else if (Time.time >= nextOcclusionUpdate)
     {
         nextOcclusionUpdate = Time.time + GvrAudio.occlusionDetectionInterval;
         currentOcclusion    = GvrAudio.ComputeOcclusion(transform);
     }
     // Update source.
     if (!isPlaying && !isPaused)
     {
         Stop();
     }
     else
     {
         audioSource.SetSpatializerFloat((int)GvrAudio.SpatializerData.Gain,
                                         GvrAudio.ConvertAmplitudeFromDb(gainDb));
         audioSource.SetSpatializerFloat((int)GvrAudio.SpatializerData.MinDistance,
                                         sourceMinDistance);
         GvrAudio.UpdateAudioSource(id, this, currentOcclusion);
     }
 }
示例#2
0
 void Update()
 {
     // Update occlusion state.
     if (!occlusionEnabled)
     {
         currentOcclusion = 0.0f;
     }
     else if (Time.time >= nextOcclusionUpdate)
     {
         nextOcclusionUpdate = Time.time + GvrAudio.occlusionDetectionInterval;
         currentOcclusion    = GvrAudio.ComputeOcclusion(transform);
     }
     // Update source.
     if (!isPlaying && !isPaused)
     {
         Stop();
     }
     else
     {
         GvrAudio.UpdateAudioSource(id, transform, bypassRoomEffects, gainDb, spread, rolloffMode,
                                    sourceMinDistance, sourceMaxDistance, directivityAlpha,
                                    directivitySharpness, currentOcclusion);
     }
 }