In the part 1 I have explained how to use Skype API and posted some code examples. In this part I will tell you about the result of my work – an open-source application Skype Auto Recorder that is used now in the conference room and workplaces in my company for recording Skype conversations with clients.

The requirements for the application that I wanted to develop:

  • high-quality recording with a possibility to improve resulting sound,
  • silent working without any prompts,
  • auto recording of the conversations,
  • auto start with Windows and auto connect/reconnect to Skype,
  • flexible configuration,
  • filters for recording conversations with only specified contacts,
  • distribution of recorded files to different locations (including network paths) depends on set filters,
  • confidence in application that it doesn’t steal conversation records.

Wish to make something useful for our company 🙂 led me to the creation of my own application that will record Skype conversation and meets all points listed above.

It is developed using C# and Windows Presentation Foundation without any third-party libraries for communication with Skype.

It is always visible in the tray:

The tray icon and its tooltip show the current application state:

  • Disconnected – Skype isn’t running or user has declined attachment to it), icon is grey. Application doesn’t do anything in this state.
  • Connected and waiting for calls, icon is colored. Application reacts on Skype calls and starts recording.
  • Recording – icon is colored with a red dot. Application is recording Skype conversation.

Tray icon has context menu with the following items:

  • Settings – provides access to the all application settings.
  • About – information about application and link to its home page and source code.
  • Close – closes the application.

Settings window has the next look:

It provides following settings:

  • Set the application to auto start with Windows. Setting’s value is stored in the Run section of the Windows Registry.
  • Filters: you can bind different file names for different contacts or set of contacts. Filter provides a convenient way to distribute and sort recorded files automatically. For example, our team gets recorded file to our local server using network path just after meeting.
  • Optionally, all calls can be recorded to the specified file name (Record unfiltered conversations setting); otherwise, Skype Auto Recorder processes only conversations with contacts specified in the filters. File name from this setting is used only when application can’t find filter for contact.
  • Some of contacts can be ignored by using Don’t record conversations with contacts edit box. Note, that it works only for contacts which are not specified in the filters.
  • And the last setting – increasing volume of the resulting MP3 file. It is useful, when your conversation partner has a low microphone. Note, that too high increase may corrupt a sound stream.

In the filter’s list of contacts you must specify contacts Skype logins (can be seen in contact properties), not their display names. You can enter any number of contacts per filter separating them with comma or semicolon.
For the output file name you must enter a path with desired file name. If you don’t specify extension then .mp3 will be added automatically. File names can contain placeholders:

  • {contact} will be replaced with login of contact who is speaking with you.
  • {date-time} – date and time of the conversation start in format yyyy-MM-dd HH.mm.ss.

If you want to save only one file with last conversation then don’t use placeholders and Skype Auto Recorder will rewrite it.

Settings window verifies all inputs to exclude possible mistakes in the file names.

All settings are stored per user in the Windows Roaming folder.

The output format of the recorded files after processing is MP3 with variable bit-rate and optionally increased sound volume. If application for some reason can’t distribute files to the specified location (for instance, network path or removable drive is not accessible) then it stores it to the default Music folder of the current Windows user and tells about this via message box.

Developed application fully meets requirements listed above.

The latest version and the source code can be found on GitHub.

Feel free to use it! 🙂

Add comment