Флэш и Аудио Хукинг
Я пытаюсь захватить звук, который воспроизводит компонент ActiveX Flash.
Я делаю это, находя модуль flash.ocx и подключая функцию waveOutWrite.
Кажется, это работает хорошо, однако я не могу различить различные экземпляры activex, которые вызывают waveOutWrite внутренне, так как звук, кажется, поступает из одного потока и предназначен для одного и того же устройства вывода.
У меня вопрос, как я могу отличить, кто вызывает waveOutWrite?
Я думаю, что ответ лежит где-то в загрузке экземпляра flash.ocx для каждого экземпляра activex, но я не знаю, как этого добиться, поскольку COM-модуль автоматически загружает загрузку модуля. У меня была идея создать компоненты activex в разных процессах, что, как мы надеемся, вызовет функцию waveOutWrite из разных потоков. Однако это кажется довольно сложным способом достижения этого.
Есть идеи?
1 ответ
Я действительно удивлен тем, что несколько экземпляров OCX используют один и тот же поток. Я мог бы поклясться, что они получают уникальные. Отсюда мой предыдущий [удаленный] ответ.
Могу я спросить: почему вы играете несколько звуков одновременно? Это абсолютно необходимо? Или, если другие экземпляры OCX воспроизводят "немой" звук, вы можете определить их, посмотрев в буфер формы сигнала. Или, возможно, другие данные в структуре WAVEHDR, возможно, dwUser...