The idea is very simple,
I need a background running software,
running on macOS,
that records and also streams (in real time) the audio captured from the built in microphone.
Client application :
The client application must always be 100% hidden.
I can install it myself (because it is on one of my computers), but after the intallation, it must never be visible. (no popups, no icon in the task bar, process name should be very generic, etc.)
The application must run automatically when the computer starts.
It must simply record the sound from the built in microphone.
And create audio files, sliced every 10min, and name them with starting date and time.
(these files should be crypted to prevent client user to play them if he finds them on the hard-drive.
It should stop recording after 1min of complete silence
It should start again recording when there is sound.
After every 10minutes of recording, it should stop, and continue recording on a new file.
When triggered by the server application, it sould start streaming the sound in real time.
When triggered by the server application, it should upload the selected audio file(s) to the server.
Server application :
The server application must be a simple window with :
A status showing if client is online or offline, and if the client is silent or non-silent.
A button to activate or de-activate "live listening".
A scrollable list with all available sound files with checkboxes and a play button.
A refresh button, to refresh the list.
Option buttons for the action to apply for the selected items (selected via the checkboxes)
- download file(s)
- delete file(s) on client's computer
- star/un-star (this simply marks or un-marks the selected file(s) with a yellow a star next to it )
The already downloaded files appear in green background.
The not yet downloaded files appear in grey background.
The files that have been listened must be marked with a "play icon"
The files that have been listened until the end must be marked with 2 "play icons"
The connection protocols should be proposed by the developer.