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