На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование звука"
0) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с записью, обработкой, воспроизведением звука. Перед созданием темы подумайте, не будет ли она уместнее в разделах Разработка и тестирование программ, Наши исходники, а особенно Разовые заказы и подработки
1) На Раздел распространяются все Правила форума.Огромная просьба с ними внимательно ознакомиться.
2) Запрещается давать бессмысленные ответы вроде: "Снеси Мастдай", "ХП рулит", "Поставь Линукс" и т.д.
3) Запрещается создавать темы, в которых Вы намереваетесь получить ссылку на кряки, серийники и т.п. Также запрещено любое обсуждение p2p (peer-to-peer) сетей (BitTorrent, eDonkey и т.д.).
4) Реклама всякого рода пресекается беспощадно.
5) Используйте тэг [CODE] для выделения кода программы (непременно с указанием языка программирования - выбрать из списка. В противном случае бессмысленно!). Уважайте тех, кто будет читать ваш код!
6) Если решение вашей проблемы найдено, то не забываем помечать тему специальной функцией "Вопрос решён". Вам всего лишь требуется при написании последнего ответа поставить одну единственную галочку прямо над формой ответа.
7) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе

8) Если не прикрепляются/не скачиваются файлы, читаем Не прикрепляется / не скачивается файл. Любые обсуждения в данном разделе проблем с приложением файлов считаются оффтопиком! Со всеми вытекающими.

9) NEW! Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно. Попытки накрутки количества тематических сообщений за счёт поднятия древних неактуальных тем ("некрофилия") будут наказываться по велению левой пятки модераторского состава (см. пп.12, 13 Правил)



Нарушение Правил может повлечь наказание со стороны модераторов.



user posted imageFAQ Раздела user posted imageПоиск в Разделе user posted imageMSDN Library Online | Ваше мнение о модераторах: user posted imageBarazuk user posted imageRikkie
  
> как программно определить наличие звука на выходе звуковой карты?
    доброго времени суток!

    появилась идея автоматически вкл/откл акустическую систему...
    аппаратно и программно все уже состыковал, могу программно отключить усилитель от сети.

    осталось только научить программу определять наличие звука на выходе звуковой карты. изначальный план такой: если появился относительно непрерывный звук на протяжении 5с, то включаем усилитель если звука нет на протяжении 10мин, то усилитель можно отключить.

    я со звуком никогда не работал прошу УКАЗАТЬ правильное направление и/или помочь ПРИМЕРОМ желательно на С++

    за ранее спасибо.
      Цитата
      аппаратно и программно все уже состыковал, могу программно отключить усилитель от сети.

      Почему не отключать/включать усилитель по наличию/отсуствию сигнала на его входе, аппаратно.
        Цитата Prince @
        Почему не отключать/включать усилитель по наличию/отсуствию сигнала на его входе, аппаратно.

        1) прибор задумывался как устройство централизованного управления приборами, не хотелось бы к нему подводить провода с аудиовыхода звуковой карты
        2) аппаратная реализация не является экономически оправданной
        3) зачем усложнять прибор функцией которая возможно не окажется востребованной?
        4) при программной реализации появится возможность гибкого управления временными задержками перед вкл/откл
          Цитата
          прибор задумывался как устройство централизованного управления приборами, не хотелось бы к нему подводить провода с аудиовыхода звуковой карты

          Я имел в виду устройство, смонтированное внутри усилителя(активной акустической системы), можно отключаемое, можно с регулировками задержек. Провода аудио к нему и так подведены. В чём экономическая неоправданность тоже не пойму. Устройство реализует аппаратно стендбай режим, аналогичный тому, что вы хотите реализовать аппаратно-програмным способом. Можно будет подключать любой источник звука, не обязательно комп, устройство(усилитель) будет фунциклировать самостоятельно.

          Цитата
          я со звуком никогда не работал прошу УКАЗАТЬ правильное направление и/или помочь ПРИМЕРОМ желательно на С++

          :scratch: :-? В FAQ есть литература. Что-нибудь почитать и попробовать что-нибудь сделать. Секунова почитайте. Или Музыченко. Или Кинтцеля. Примеры записи звука в приложениях к книгам есть, и на форуме есть, и в этом разделе есть, и вообще в интернете есть. А вам прежде всего необходимо реализовать процесс записи.
            Цитата Prince @
            А вам прежде всего необходимо реализовать процесс записи.

            что то я не совсем понял. зачем мне записывать звук? вот к примеру в win7 при изменении системной громкости (при воспроизведении) двигается направляющая ползунка в такт со звуком. я думал можно получить доступ к регистру ЦАП и по среднеарифметическому значению за определенное время определить идет ли сейчас воспроизведение звука.
              Цитата
              вот к примеру в win7 при изменении системной громкости (при воспроизведении) двигается направляющая ползунка в такт со звуком.

              Какая такая направляющая? Скрин приведите.
              Цитата

              я думал можно получить доступ к регистру ЦАП и по среднеарифметическому значению за определенное время определить идет ли сейчас воспроизведение звука.

              Нету такого регистра.
              Но в любой из версий винды можно свободно получать данные от АЦП. Записываете звук, вычисляете уровень по какому-то алгоритму и чё-то с ним дальше делаете. Правда, одновременно и полноценно пользоваться функциями записи других приложений будет затруднительно или невозможно, так как все они используют один и тот же аппаратный микшер. Т.е., не могут два приложения записывать звук с разных входов микшера.

              Возможно, в 7-ке есть возможность получить доступ к общему миксу приложений через wasapi, я не в курсе. :-? Мне такая инфа не попадалась.
              Сообщение отредактировано: Prince -
                Цитата Prince @
                Правда, одновременно и полноценно пользоваться функциями записи других приложений будет затруднительно или невозможно, так как все они используют один и тот же аппаратный микшер. Т.е., не могут два приложения записывать звук с разных входов микшера.

                По-моему, функции звуковой карты (wave...) ексклюзивны, а микшер (mixer...) можно шерить.

                А в обшем, присоединяюсь к советам . Придется писать почти весь функционал захвата воспроизведения звука.
                Сообщение отредактировано: MIF -
                  Цитата
                  По-моему, функции звуковой карты (wave...) ексклюзивны, а микшер (mixer...) можно шерить.

                  Не, шерить функции можно и те и другие. Просто сам микшер и АЦП в единственном эеземпляре. Если первое приложение включает микрофонный вход, а второе - stereo mixer(или любой другой вход), и первое и второе приложение будут писать микс микрофон+стереовыход.
                  В 98-й, wave... были эксклюзивны, насколько помню. А в XP уже нет.

                  Цитата
                  Придется писать почти весь функционал воспроизведения звука.

                  Зачем зачеркнули? "Захвата" было правильным словом.
                  Сообщение отредактировано: Prince -
                    Цитата Prince @
                    Какая такая направляющая? Скрин приведите.
                    зелененькая такая :)
                    user posted imageuser posted imageuser posted image

                    Цитата Prince @
                    Нету такого регистра.

                    http://www.gaw.ru/html.cgi/txt/doc/dac/interdacs.htm см. Рисунок 15
                    Сообщение отредактировано: p486 -
                      Цитата
                      зелененькая такая

                      Когда найдёте, каким способом в 7-ке можно вытянуть уровень из "микшера", дайте знать.
                      Нет у меня 7-ки под рукой, не на чем разбираться, я с ней сталкиваюсь эпизодически, что-то читаю, потом забываю.

                      Цитата

                      МС ЦАП и интерфейсы между ЦАП и 8/16 разрядными CPU, не имеют отношения к теме.
                      Возьмите что-нить из кодеков, применяемых в звуковых картах:
                      ALC861
                      Обратите внимание на раздел 7 (HDA Link Protocol)
                      Между собственно ЦАП и CPU кучка аппаратных и програмных посредников. Проц напрямую в ЦАП ничего не пишет, и не может в принципе, и такого регистра(ЦАП) в кодеке, куда проц мог бы что-то записать, нет.
                      Механизм взаимодействия аудиокодека с управляющим контроллером, и контроллера с другими подсистемами компа, сложнее связки ЦАП-ЦПУ на рисунке 15.
                      Сообщение отредактировано: Prince -
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0795 ]   [ 16 queries used ]   [ Generated: 25.04.24, 01:42 GMT ]