На большинство ваших вопросов ответили.
Тем не менее, для воспроизведения большего количества звуков одновременно.
Для этого вы можете сделать это с помощью SDL_Mixer. Пока я искал какой-нибудь хороший способ воспроизведения аудио, и чтобы он работал, я пришел к этому.
Хорошим моментом является то, что SDL_Mixer является мультиплатформенным (протестировано на обоих win, linux). Если вы знаете, что делаете, вы можете написать код, который компилируется в обеих ОС.
Еще одна хорошая вещь - вы можете воспроизводить несколько звуков одновременно (возможно, даже до 30, но проверьте это онлайн). Библиотека доступна для Windows (DLL и заголовочные файлы) и Linux (установка через консоль).
Я не буду вдаваться в подробности по установке.
Он поддерживает wav и oog и многие другие типы файлов.
Однако недостатки заключаются в следующем:
После того, как все заработало, мне понадобилось много времени, и я понял, что звук хрустит и имеет низкое качество, хотя оригинальный файл хорошо воспроизводится в медиаплеере. После исследования я обнаружил, что это долгое время ошибка в библиотеке, и до сих пор не исправлена. Некоторые люди говорили, что исправили это, увеличив громкость до 100, но у меня это не сработало.
Вторым недостатком является то, что ему нужно немного больше кодирования, чем просто набрать
PlaySound(TEXT("mywavsound.wav"), NULL, SND_FILENAME | SND_ASYNC);// - the correct code
Следующий недостаток был обнаружен мной, и что wav-файл не загружается, говоря, что формат не правильный. Несмотря на то, что я использовал 3 конвертера и скачал много файлов через Интернет, это не сработало. Это сработало, однако, после загрузки тестового проекта и использования их файла .wav в архиве.
Тем не менее, я решил это, преобразовав всю мою музыку в .oog
Так вот, я до сих пор не знаю, какую музыкальную библиотеку лучше всего использовать. Зависит от того, какой должна быть ваша консоль ...? ты пишешь игру или просто медиаплеер? или просто тестирую ...?