Command line audio recorder and player using ffmpeg API / C++
- or -
Post a project like this1453
€180(approx. $193)
- Posted:
- Proposals: 6
- Remote
- #2793463
- OPPORTUNITY
- PRE-FUNDED
- Awarded
Designer and Developer|WordPress|Shopify|PSD|PHP HTML, JavaScript|WIX| PowerPoint/Keynote| Logo Designing
Berlin
210527031147433568602360672138114783823759
Description
Experience Level: Intermediate
Estimated project duration: less than 1 week
Software requirements:
A command line C++ application that let user choose an audio input device, an audio output device and then record 5 seconds of audio from the selected input device.
The recording should be kept in memory, encoded using the opus encoder.
Then the user can choose to playback the recording from memory to the selected audio output device.
Audio input/output selection and recording/playback should be implemented using the ffmpeg library.
I have already implemented the menu logic.
Download the Qt C++ project from this link: https://www.sendspace.com/file/p4t56x
These four functions should be implemented:
1.
void MainMenu::list_audio_input_devices()
{
//list all audio input devices [1...n] (mic, line-in etc)
std::cout << "List of all audio input devices" << std::endl;
}
2.
void MainMenu::list_audio_output_devices()
{
//list all audio output devices [1...n] (speaker, ext out etc)
std::cout << "List of all audio output devices" << std::endl;
}
3.
void MainMenu::record_audio_5secs()
{
//Record audio for 5 seconds, from the selected selectedAudioInputDevice.
//Encode audio using the opus encoder and keep it in memory
std::cout << "Begin recording audio for 5 seconds" << std::endl;
std::cout << "Encode audio in memory using the opus encoder" << std::endl;
std::cout << "Recording complete!" << std::endl;
}
4.
void MainMenu::playback_audio_from_memory()
{
//Playback audio from memory to the selected selectedAudioOutputDevice.
std::cout << "Playing audio..." << std::endl;
std::cout << "Done!" << std::endl;
}
A command line C++ application that let user choose an audio input device, an audio output device and then record 5 seconds of audio from the selected input device.
The recording should be kept in memory, encoded using the opus encoder.
Then the user can choose to playback the recording from memory to the selected audio output device.
Audio input/output selection and recording/playback should be implemented using the ffmpeg library.
I have already implemented the menu logic.
Download the Qt C++ project from this link: https://www.sendspace.com/file/p4t56x
These four functions should be implemented:
1.
void MainMenu::list_audio_input_devices()
{
//list all audio input devices [1...n] (mic, line-in etc)
std::cout << "List of all audio input devices" << std::endl;
}
2.
void MainMenu::list_audio_output_devices()
{
//list all audio output devices [1...n] (speaker, ext out etc)
std::cout << "List of all audio output devices" << std::endl;
}
3.
void MainMenu::record_audio_5secs()
{
//Record audio for 5 seconds, from the selected selectedAudioInputDevice.
//Encode audio using the opus encoder and keep it in memory
std::cout << "Begin recording audio for 5 seconds" << std::endl;
std::cout << "Encode audio in memory using the opus encoder" << std::endl;
std::cout << "Recording complete!" << std::endl;
}
4.
void MainMenu::playback_audio_from_memory()
{
//Playback audio from memory to the selected selectedAudioOutputDevice.
std::cout << "Playing audio..." << std::endl;
std::cout << "Done!" << std::endl;
}
Yiannis B.
100% (2)Projects Completed
6
Freelancers worked with
5
Projects awarded
67%
Last project
14 Apr 2020
Greece
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies