The goal of this project is to create an audio mixing class that can use multiple different audio sources to create one output. The output will be a compressed audio file.
You are creating two deliverables The first is a .net library (dll and source) in the SoundCommon namespace. The second is a simple example that shows each function of the library. This multimedia project should use the DirectShowNet (DirectShowLib) library and should be compatible with .net2.
1- The library should have a function to return the list of available audio input devices, and a list of available output compression codecs (such as Ogg, MP3, raw wav, whatever is installed for audio) - Audio List must include details such as port name.? For example, I have Realtek 97 with Front and Back MIC ports.
2- The library should allow the user to build a List of audio input devices. This also includes existing audio files.
3- There should be an event when an audio file is complete. This will allow the application to specify another audio file.
4- Each item in the list should be given an index, for example:
5- Each device (or file) should have the following properties: bool Muted, int Volume, double AudioLevel
6- For each "mixed" frame there should be a callback that passes the audio frame to a function before being written to disk.
7- There should be a Dispose method that safely stops all threads, closes all devices and files, and returns DirectX back to the normal unused state.
Rent A Coder requirements notice: As originally posted, this bid request does not have complete details. Should a dispute arise and this project go into arbitration "as is", the contract's vagueness might cause it to be interpreted against you, even though you were acting in good-faith. So for your protection, if you are interested in this project, please work-out and document the requirements onsite.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).