вы можете, буфер не зависит от источника , вы можете иметь несколько источников , указывающих на один и тот же буфер, вызывая alSourcePlay()
вы играете источник не буфер .
то, как они управляют буфером при воспроизведении нескольких источников , указывающих на один и тот же буфер одновременно, является черным ящиком для программиста, которым управляет драйвер openAL.
Вы должны заметить, что буфер openAL (всегда) не то же самое, что аудиоданные в памяти, буфер openAL зависит от реализации драйвером openAL, данные буфер может находиться в системной памяти или памяти звуковой карты. поэтому, когда вы вызываете alBuferData
, вы копируете аудиоданные из вашей памяти в управляемую память openAL, после чего нет никаких ссылок или указателей из буфера openAL на ваши аудиоданные, вы можете манипулировать вашими аудиоданными, не затрагивая буфер openAL.