I need an ActiveX control which will automatically download and install when a user navigates to the web page. Navigating to the web page fires up a HTTP server, which allows them to send out JPG's, WAV's and HTML pages on a specified port. The ActiveX control has one public property, 'Port', and two public methods, 'StartRecording' and 'StopRecording.' VBScript in the HTML will fill in that property, and call those methods on demand. The gist of what I want, is this: 'Clients' will request a HTML page. The 'Server' (the person who's running the ActiveX control in a different web page) gets the request. 1. If they requested the root directory, [url removed, login to view] or [url removed, login to view], they'll get back an HTML page containing an embedded JPG ('[url removed, login to view]') and an embedded wav ('[url removed, login to view]'). 2. If they requested the JPG file, the control will send them a memory stream containing a JPG file. 3. If they requested the WAV file, the control will send them a memory stream containing a WAV file compressed using the GSM 6.10 codec. When a request for a JPG file comes in, a picture is dynamically snapped using Video for Windows (VFW), and converted to a 60% quality JPG memory stream. Then, the 'last picture time' is checked. If it's been more than 2 seconds since a picture was snapped, it snaps another one and places it in the memory stream, otherwise it reuses the old memory stream. Finally, it sends the JPG memory stream across the TCP connection, closing the connection when it's done sending. When a request for a WAV file comes in, it sends out the WAV file stored in a memory stream, and closes the connection when it's done. (I would like it to do a date/time check, and if the person has already received this WAV file, send back a '404 not found' page, but I'm not sure how to accomplish this, or even if it's possible. I don't want to maintain a permanent connection to the web server.) The WAV memory stream is updated when the person running the server has recorded a new sound, by hitting the 'Start Recording' button on the web page (which calls the RecordStart method), then hitting the 'Stop Recording' button to stop (which calls the RecordStop method.) The WAV file is then compressed to GSM 6.10 format using ACM, and stored in the WAV memory stream. Source code for everything except the WAV processing is available at http://www.planet-source-code.com. Search in the Delphi section for 'Kamilche', you'll find 'WebShots', which does most of this in an EXE.
Complete and fully-functional working ActiveX control plus two separate webpages, one containing the server and embedded ActiveX control, one with the client HTML necessary to view the output. Complete copyrights and source code to all work purchased.
Windows 95 through XP.