Путеводитель по
джунглям звуковых API в Linux
Оригинал: A
Guide Through The Linux Sound API Jungle Автор: Lennart
Poettering Дата публикации: 24 сентября
2008 г. Перевод: Максим
Белозеров Дата перевода: 25 августа
2009 г.
Во время
миниконференции,
посвященной теме аудио, на конференции
Linux Plumbers выяснилась одна вещь:
программистам часто трудно решить,
какие из звуковых API для каких целей
использовать при создании аудиопрограмм
для Linux. Давайте попробуем разобраться
в этих джунглях:
Что вы хотите
сделать?
Я хочу написать
еще один медиаплеер!
Используйте
GStreamer! (Но если вы собираетесь писать
только для KDE, тогда используйте
альтернативный вариант — Phonon).
Я хочу добавить
в свое приложение звуковые оповещения
для событий!
Используйте
libcanberra, устанавливайте звуковые файлы
в соответствии со спецификациями
XDG по звуковым темам и их именованию
(но если вы собираетесь писать только
для KDE, тогда как альтернативу можно
использовать KNotify, хотя у него немного
другие задачи).
Я хочу
создавать профессиональные аудиоредакторы,
программы для звукозаписи, работы с
MIDI и синтезаторы!
Используйте JACK
и (или) полный интерфейс ALSA.
Мне нужно
простое воспроизведение и захват
PCM-аудио!
1)
Используйте
безопасную часть ALSA.
Хочу добавить
звук к своей игре!
Используйте
звуковой API из SDL для полноэкранных игр,
а libcanberra для простых игр со стандартным
пользовательским интерфейсом типа
Gtk+.
Хочу написать
микшер!
Используйте
уровень, с которым собираетесь
непосредственно работать: если хотите
обеспечить поддержку усовершенствованных
программных микшеров, используйте API
управления громкостью PulseAudio. Чтобы
обеспечить поддержку аппаратных
микшеров, используйте API микшера ALSA.
Я хочу писать
аудиоприложения промежуточного уровня!
Используйте
полный стек ALSA.
Мне нужно
написать аудиоприложения для встроенных
систем!
Для технического
применения обычно подходит безопасная
часть ALSA, но все зависит от конкретного
случая.
Читать http://rus-linux.net/lib.php?name=/MyLDP/algol/guide-to-sound-apis.html
|