Думайте о SoundEffect
как о звуковом файле.Вы можете загрузить их, используя менеджер контента.
и SoundEffectInstance
как программу, воспроизводящую звуковой файл.
SoundEffect
имеет метод Play
.Это просто для удобства.Внутренне это создает SoundEffectInstance
, проигрывает его, а затем очищает, когда он заканчивается.(Известный как «Огонь и забудь».)
При использовании SoundEffectInstance
(который вы создаете с помощью SoundEffect.CreateInstance
) вам нужно управлять всем этим самостоятельно - преимущество в том, что вы можете манипулировать свойствамизвук (громкость и т. д.) во время воспроизведения звука.Вы также можете зациклить звук, остановить или приостановить часть пути и т. Д.
Когда вы закончите со своим SoundEffectInstance
, не забудьте Dispose()
его!
Другая вещьВы можете сделать с помощью SoundEffectInstance
(что полностью необязательно ) применить к нему 3D-эффект.Это дает вам простой способ «разместить» звук в трехмерном пространстве.Вы применяете 3D-эффект, используя SoundEffectInstance.Apply3D
(предоставляя ему слушателя и излучателя, которые предоставляют информацию о камере и источнике звука).Точную информацию об этом лучше оставить в статье " Применение трехмерного позиционного эффекта к звуку " в MSDN.