Does Nextcloud have an audio recording app
@James_Bradley hey there and welcome to the wonderful world of the nextcloud community-forum
depending upon the OS you access NC there might be built-in audio recording apps on OS-level.
As for NC itself I don’t know of any such thing and I’m pretty sure that there is none.
Hi Could you possibly be more specific as to which OS might have a built-in audio recording app that you are aware of?
iOS, Android…
OK Thank you!
Might it be possible to remove the Audio Recording Plug-in from Nextcloud TALK App, to use it independently for audio recordings of in-house meetings, instead of for telephone conversations?
aww… well I think talk relies on WebRTC and its tools.
and if you want to use talk and getting your stuff recorded try this app Talked - attention, this is only the client for a dedicated talked-server… you’ll find the link to that within the description… and apparently it seems to work on AiO
(though it seems as if would need to be polished up a bit. Maybe something for your devs?)
I very much appreciate your input, but I am afraid that TALK & TALKED might be a bit of a dead-end for me, due to both not being supported in the last 3 Nextcloud software updates, (Seems like they have gone into hibernation) unless it might be possible to surgically remove the recording aspect of the APP to function as a standalone nextcloud audio recording feature???
I really can’t tell I’m afraid.
But again… try to find out how the WebRTC-standard (especially openWebRTC) works which might get you closer to a solution
Apart from that I think is open source as well and you can do whatever you want with it’s source code
Maybe someone can implement a simple audio recording app based on WebRTC
. You can use something like this. Because of the use of external software for mp3
i implemented it in wav
-format. You can save the html
local or on a webserver with e.g. audio.html
.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Audio Recording with WebRTC</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
button {
margin: 10px;
padding: 10px 20px;
font-size: 16px;
}
#timer {
font-size: 24px;
margin-top: 20px;
}
#audioContainer {
margin-top: 40px; /* Erhöhter Abstand */
}
#downloadBtn {
display: none;
margin-top: 20px;
padding: 10px 20px;
font-size: 16px;
}
#downloadBtn:hover {
background-color: #696969;
}
</style>
</head>
<body>
<h1>Audio Recording</h1>
<button id="startBtn">Start Recording</button>
<button id="stopBtn" disabled>Stop Recording</button>
<div id="timer">00:00:00</div>
<div id="audioContainer">
<audio id="audioPlayback" controls></audio>
</div>
<div style="margin-top: 20px;">
<button id="downloadBtn">Download Recording</button>
</div>
<script>
let mediaRecorder;
let audioChunks = [];
let timerInterval;
let elapsedTime = 0;
function startTimer() {
timerInterval = setInterval(() => {
elapsedTime++;
const hours = String(Math.floor(elapsedTime / 3600)).padStart(2, '0');
const minutes = String(Math.floor((elapsedTime % 3600) / 60)).padStart(2, '0');
const seconds = String(elapsedTime % 60).padStart(2, '0');
document.getElementById('timer').textContent = `${hours}:${minutes}:${seconds}`;
}, 1000);
}
function stopTimer() {
clearInterval(timerInterval);
elapsedTime = 0;
document.getElementById('timer').textContent = '00:00:00';
}
document.getElementById('startBtn').addEventListener('click', async () => {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
startTimer();
mediaRecorder.addEventListener('dataavailable', event => {
audioChunks.push(event.data);
});
mediaRecorder.addEventListener('stop', () => {
stopTimer();
const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
const audioUrl = URL.createObjectURL(audioBlob);
const audioPlayback = document.getElementById('audioPlayback');
audioPlayback.src = audioUrl;
const downloadBtn = document.getElementById('downloadBtn');
downloadBtn.onclick = function() {
const downloadLink = document.createElement('a');
downloadLink.href = audioUrl;
downloadLink.download = 'recording.wav';
downloadLink.click();
};
downloadBtn.style.display = 'inline-block';
audioChunks = [];
});
document.getElementById('startBtn').disabled = true;
document.getElementById('stopBtn').disabled = false;
});
document.getElementById('stopBtn').addEventListener('click', () => {
mediaRecorder.stop();
document.getElementById('startBtn').disabled = false;
document.getElementById('stopBtn').disabled = true;
});
</script>
</body>
</html>
Thank you,
JimmyKater & Devnull.
I will study your recommendations, and very much appreciate your inputs.
I am guessing Audio Recording Important in-house/in-person meetings (For post-review by attendees, or for people who have missed said meetings), to archive them as a valuable resource in NextCloud Storage Server, is not a hot priority research project for the NextCloud Community, at the moment.
I am guessing I am going to have to try to utilize NextCloud Talk’s recording facility for our in-house in-person meetings, but not sure how to yet???
Will have to sleep on it a bit!
Thnx again Guy’s!!