О том, как не надо делать

Sep 14, 2008 00:20

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

Аудиоустройство (аудиоплата) содержит буфер, в который можно записать значения аудиосигнала и устройство будет проигрывать этот сигнал само. Что должен делать простейший аудиоплейер? Открыть аудиофайл, прочитать параметры аудиопотока (аудиопоток - это те самые значения аудиосигнала), настроить устройство и тупо записать аудиопоток в буфер устройства. Всё! Для более навороченного аудиоплейера нужно чуть (но именно чуть больше). Расшифровать хитрый аудиоформат вроде mp3 (одна сторонняя библиотека), прочитать заголовки песен с диска, показывать графическое окошко, уметь записывать на устройства порциями.

Загружаю командно-строчный плейер. Система обновлять 160 (!) пакетов. Среди них отчего-то python. Каждый из этих пакетов может сломаться или устареть, да и места на вот это жалко. Ну никак нельзя по-человечески написать аудиоплейер из 160 компонент. Аффтары сего поделия уж очень любили чесать правой ногой левое ухо.

компьютеры

Previous post Next post
Up