Есть ли у Delphi будущее? Голосуйте!
Что такое NewAC?
NewAC (New Audio Components) – набор Delphi-компонентов, предназначенных для работы с звуком. Основная идея NewAC – объединить разные технологи и алгоритмы, полезные при обработке звука на компьютере. Все компоненты NewAC используют единый интерфейс и могут соединятся друг с другом в любых сочетаниях (см. документацию). Используя NewAC, вы можете быстро написать собственное приложение для работы со звуком, комбинируя компоненты как кубики в конструкторе. В результате с помощью Delphi можно быстро создавать программы, предназначенные для записи, воспроизведения и редактирования аудио. Если вы напишете собственный компонент на основе объектной модели NewAC, вы сразу же получите возможность использовать его вместе со всеми другими компонентами. Например, NewAC содержит много компонентов для чтения и записи аудиоданных в различных форматах. Если вы добавите компоненты, поддерживающие чтение-запись данных в новом формате, то сразу сможете конвертировать данные из нового формата в любой другой формат, поддерживаемый NewAC, и наоборот.
Что можно сделать с помощью NewAC?
С помощью New Audio Components вы можете:
И многое другое, на что у вас хватит фантазии :)
Компоненты NewAC бесплатны?
Да.
Я могу использовать их в коммерческих программах?
Да.
С какими версиями Delphi работает NewAC?
Со всеми, начиная с Delphi 6 (кроме Delphi 8, которая предназначалась исключительно для .NET).
NewAC – это обертка DirectX?
Нет. Некоторые компоненты NewAC используют интерфейсы DirectX (DirectSound), другие – Windows Media SDK Windows DMO, (точно так же как VCL использует интерфейсы Win API). Начиная с версии 2.0 NewAC позволяет воспроизводить/записывать звук с помощью профессиональных драйверов ASIO (см. документацию). Эти драйвера работают в обход DirectX и отличаются низкой латентностью. Их можно использовать, например, при передачи звука по сети. Некоторые компоненты используют библиотеки, не имеющие никакого отношения к Win API (например, Ogg Vorbis, libsamplerate и т.п). Наконец, многие компоненты написаны на «чистом» Delphi Language и вообще не нуждаются во вспомогательных библиотеках и интерфейсах.
Зачем использовать какие-то компоненты, не проще ли работать напрямую с DirectSound?
Если вам проще – работайте. Только напомню предыдущий ответ – NewAC не обертка для DirectSound. В частности, NewAC может много такого, чего DirectSound не может. Но даже если ваша программа нуждается только в функционале DirectX, вы можете использовать NewAC просто потому, что это проще, чем работать напрямую с DirectSound. Ведь и когда вы проектируете графический интерфейс приложения, вы используете компоненты VCL, а не функции Win API...
Почему многие компоненты NewAC нуждаются во вспомогательных DLL?
Дополнительные DLL нужны тем компонентам NewAC, которые реализуют чтение и запись аудиоданных с использованием различных кодеков. Библиотеки кодеков написаны на C, и переписать их на Delphi было бы ИМХО неразумно (некоторые предлагали мне сделать такое). Если вы пишете на Delphi программу, которая должна работать с такими форматами как FLAC, Ogg Vorbis или Musepack, вам все равно не обойтись без внешних модулей, будь то библиотеки, фильтры DirectX или самостоятельные программы. NewAC, в данном случае, всего лишь унифицирует работу с разными внешними модулями. Единственная вспомогательная библиотека, которая не является кодеком, это libsamplerate (она используется компонентом TResampler). Данная библиотека предназначена для изменения частоты дискретизации (resampling, передискретизация) и считается одной из лучших в мире - работает очень качественно, но медленно. Впрочем, если вы не хотите использовать внешнюю библиотеку для передискретизации, можете воспользоваться компонентом TFastResampler (который не нуждается ни в каких библиотеках) или компонентом TMSResampler, который использует объект DMO, встроенный в Windows Vista и более поздние версии.
Что я могу сделать для дальнейшего развития NewAC?
Многое :) Пишите новые компоненты, активно тестируйте уже существующие компоненты и присылайте отчеты об ошибках.
Будет ли NewAC развиваться дальше?
До тех пор, пока Delphi не утратит актуальности как средство разработки, NewAC будет развиваться.
Еще про NewAC по-русски Страница NewAC На главную
© 2009 Андрей Боровский <anb @ symmetrica.net>