Флэш и Аудио Хукинг - PullRequest
       36

Флэш и Аудио Хукинг

3 голосов
/ 23 марта 2011

Я пытаюсь перехватить звук, который воспроизводит флэш-компонент ActiveX.

Я делаю это, находя модуль flash.ocx и подключаю функцию waveOutWrite .

Кажется, это работает хорошо, однако я не могу различить разные экземпляры activex, которые вызывают внутреннюю функцию waveOutWrite, поскольку звук, по-видимому, исходит из одного потока и нацелен на одно и то же устройство вывода.

У меня вопрос, как я могу различить, кто вызывает waveOutWrite?

Я думаю, что ответ лежит где-то в загрузке экземпляра flash.ocx для каждого экземпляра activex, но я не уверен, как этого добиться, так как загрузка модуля обрабатывается COM автоматически. У меня была идея создать компоненты activex в разных процессах, что, как мы надеемся, вызовет функцию waveOutWrite из разных потоков. Однако это кажется довольно сложным способом достижения этого.

Есть идеи?

1 Ответ

1 голос
/ 04 августа 2011

Я действительно удивлен, что несколько экземпляров OCX используют один и тот же поток. Я мог бы поклясться, что они получают уникальные. Отсюда мой предыдущий [удаленный] ответ.

Могу я спросить: почему вы играете несколько звуков одновременно? Это абсолютно необходимо? Или, если другие экземпляры OCX воспроизводят «немой» звук, вы можете определить их, посмотрев в буфер формы сигнала. Или, возможно, другие данные в структуре WAVEHDR , возможно dwUser ...

...