Monthly Archives: February 2006

Record Skype calls

Have you ever wanted to record skype conversations?

When you are doing skype, there are two sound streams. One is the microphone input, which is your own voice. The other is the remote voice from the one you are chatting with. The two sound streams needs to be mixed and recorded in real time.

Audio Record Expert can help you do that. I just tried it with logitech quickcam, which has a build-in audio USB device.

Do the following:

1. Set the logitech microphone as default voice capturing device. This can be done in control panel.

2. Run Audio record expert, select the “Logitech microphone” to capture. The source combo is empty, just ignore it.


3. now, start recording and start your skype and make call. (Skype will use the logitech microphone to record as well.

4. Upon finishing conversation, you can stop recording. What you get is a full recording of both parties in the conversation. See, It is easy to record your skype interview now.


Note, I use the WMA speech codec since it will produce the smallest and good quality of voice recording.

I think the logictech capture driver does something special so it can capture the audio output of the other sound card on my PC, which skype uses to output the remote voice.




Does your spam filter work well?

Recently I sent an email to a customer who is using yahoo’s email service. But it seems he didn’t get it. Then I sent it again. He still didn’t get it.

So I have to doubt if his spam filter blocks my email. But I have no way to contact him except email. So I have to try to send him from all my possible email accounts. God bless the email can be passed to him this time. I am hoping him not to be surpised if several of the same email get into his email box.

Spam filter is not a perfect program. I guess sometime you may have to check the spam box if you are waiting for an important email.


Delay between StopRecord and StartRecord

A customer wants to do a quick start recording after stop recording when using our Active Audio Record object. He is concerning about the delay between the two calls.

I would say the delay is pretty small. The time is spent by the two calls, which is dependent on the sound card reaction speed for stopping recording and restarting a new one. I believe it would be milisecond level for the sound card nowadays.

MSI installer on demand

The shortcut created by MSI installer may be a GUID, not directly points to an executable.

You can have a look at the word or excel shortcut if they are on your desktop.

The magic behavior of MSI is that if it finds some dependency is missing. It will run the setup application again. That is so called “install on demand”.

But is it a useful feature? May be not for small shareware products, but may be true for large products like office.


Email support

Email is the mainly support method of Guangming Software. Sometimes we use MSN messenger to help customers to resolve issues promptly.  

We normally process support email in 24 hours. Due to possible time zone difference, it may take a bit longer than expected. So please be patient.


A trick on converting html with flash to image

Normally when a html page is fully loaded, there will be an event generated by web browser.   

Pages with flash movie can be different. Since flash movie has a feature that loads itself from servers. With this feature, it is hard to tell when the flash movie has been fully loaded. The web browser first downloads a flash file which may be just an empty scene with download progress bars. The web browser then fires the download complete event. From web browser point of view, the flash movie has been fully downloaded.

But flash control may continue downloading other parts of the movie. After it finishes, it doesn’t generate event at all.

To capture such kind of pages, we designed a method called SetDelayTime. It allows you to set a timer after the web browser’s document complete event.  The component will delay the time specified and capture the image again. Hopefully in this period, the flash movie has finished loading itself.

‘Create the Html Snapshot Object
Set snap = CreateObject(“HTMLSNAP2.HtmlSnap.1″)
snap.SetTimeOut CLng(200000)
snap.SetDelayTime CLng(10000) ‘The delay value matters
snap.SetSnapDimension 800, 600
snap.SnapUrl “htmlwithflash.htm”, “test.jpg”
‘Free object
Set snap = Nothing  


 Try this method when you meet the tricky flash capture problem. :)


How to register Active TTS with your code

After purchase, there will be a code sent to you via email. Normally the order email will be sent in several hours. If you don’t receive it, please check your spam folder (sometimes, it may happen). If it is not there, please send email to us. We will help check the status.

The code is used to unlock the trial limit in the control. The usage is to call the SetCode method with the code you got after creating the object instance. Note, you need to call SetCode on every object instance you created.


‘Here is a quick example in VB Script:

Dim tts

‘Create the Active TTS Object
Set tts = CreateObject(“TTSObj.TextToSpeech.1“)

‘Set your code here
tts.SetCode “Your license code here”

‘Then do what ever you like …

The code will be hard coded in your application, so this can guarantee the control will be full functional after you release the product to your customers.


Use Active Audio Play Object in C#

Our Audio Record component has  simple playback functions for mp3, wma, ogg or wave files.

You can use play object in C# easily like the record object since it is a standard COM object like the record one.

In the C# project, assume you have added the AudioCtl.dll as reference. The following is a function to play mp3, wav or wma files.

        private void PlayFile(string filename)


            AudioCtl.CAudioPlay play = null;

            play = new AudioCtl.CAudioPlayClass();



Remember you need to install Windows media format SDK to play mp3, wma files.