Относительно аудио: Linux! = Mac, поэтому я отвечу на оба вопроса отдельно.
MacOS использует ядро core для низкоуровневого звука. Основываясь на этом, есть несколько API более высокого уровня. Если вы просто хотите воспроизвести звуковой файл, скорее всего, вам подойдет AV Foundation Framework . Здесь вы найдете пример создания простого приложения для iOS, которое можно легко перенести на MacOS.
Для Linux вся ситуация довольно деликатная. Существует много различных фреймворков и библиотек, и очень непонятно, какой низкий, а какой высокий, поскольку некоторые из них подражают другим. В основном есть ALSA и OSS для аудио низкого уровня. Они оба дерьмо. Джек стремится обеспечить основу для профессионального аудио, но она не очень портативна (по крайней мере, если вы заинтересованы во встроенных устройствах). Большинство ОС Linux в настоящее время используют PulseAudio в качестве своего аудиосервера, который также имеет простой API для простого воспроизведения одного звука и очень сложный API для низкоуровневых программ. Кроме того, есть библиотека gstreamer, которая является довольно переносимой, имеет API-интерфейс снижения на полпути и специально разработана для воспроизведения аудио- и видеофайлов и потоков, и поэтому, вероятно, подходит для Linux.
Я лично рекомендую использовать PortAudio , библиотеку, которая, как следует из названия, предоставляет звуковую инфраструктуру, которая переносима на несколько операционных систем и звуковые платформы . PortAudio также хорошо спроектирован и имеет простой, но гибкий API.