Цикъл OpenAL източник с отместване

OpenAL API заявява, че настройката на отместване все още кара звука да се върне обратно към нула за циклични източници. Но има ли начин да се зацикли и пак да има отместване по някакъв начин?

Имам mp3 и тъй като той съдържа заглавки с информация в началото на файла, има малко, но забележимо забавяне при зацикляне, когато се превърта назад.

Ако не, има ли други компресирани формати, които не съдържат тези празни заглавки?


person hwaxxer    schedule 15.02.2010    source източник
comment
В крайна сметка използвах Core Audio и Audio Units, тъй като исках да правя по-сложни неща.   -  person hwaxxer    schedule 13.05.2011


Отговори (1)


Може би вашето забавяне също може да представлява времето за декомпресиране на MP3 данните? Ако вашите данни са достатъчно малки, за да се завъртят така или иначе, можете ли да използвате API за декомпресиране на MP3 към PCM и след това просто да подадете тези некомпресирани данни към AL?

Друг вариант: не е нужно да използвате само един буфер. Можете да ги поставите на опашка с alSourceQueueBuffers(). Когато предавате по този начин, AL може да се премести незабавно от края на един буфер до началото на следващия. Така че можете да поставите в опашка два или три буфера с данни, след това да анкетирате източника, за да видите кога първият е изразходван, и да поставите в опашката друг. По принцип това ще ви направи отговорни за зациклянето.

person invalidname    schedule 28.02.2010