Calculator Tools Calculator Tools
Create

Slate Broadcasting

Dec 1, 2025

About this app

Experience smooth and innovative live broadcasting with Slate Broadcasting. Stream your voice, music, or visuals effortlessly.

Slate Broadcasting Slate Broadcasting Start your live broadcast by capturing your voice. Stream effortlessly with Slate Broadcasting. Start Broadcast Stop Broadcast

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Slate Broadcasting</title>
<meta name="description" content="Experience smooth and innovative live broadcasting with Slate Broadcasting. Stream your voice, music, or visuals effortlessly.">
<meta name="keywords" content="broadcasting, live stream, media sharing, audio, video, creative">

<!-- Libraries -->
<!-- jQuery (3.6.0) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<!-- Bootstrap CSS (5.3.3) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<!-- Bootstrap JS (5.3.3) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<!-- Font Awesome (6.6.0) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
const startBtn = document.getElementById("start-broadcast");
const stopBtn = document.getElementById("stop-broadcast");
const output = document.getElementById("broadcast-output");
let mediaRecorder;
let audioChunks = [];

// Start the broadcast
startBtn.addEventListener("click", async function() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
mediaRecorder = new MediaRecorder(stream);

mediaRecorder.start();
startBtn.disabled = true;
stopBtn.disabled = false;

// Capture audio data
mediaRecorder.ondataavailable = event => {
audioChunks.push(event.data);
};

// On stop, display the recorded audio
mediaRecorder.onstop = () => {
const audioBlob = new Blob(audioChunks, { type: 'audio/webm' });
const audioUrl = URL.createObjectURL(audioBlob);
const audio = new Audio(audioUrl);
output.innerHTML = `<h3>Your broadcast is ready:</h3><audio controls src="${audioUrl}">Your browser does not support audio playback.</audio>`;
audioChunks = [];
startBtn.disabled = false;
stopBtn.disabled = true;
};
});

// Stop the broadcast
stopBtn.addEventListener("click", function() {
mediaRecorder.stop();
});
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
body {
background: linear-gradient(to right, #4facfe, #00f2fe);
color: #333;
font-family: 'Arial', sans-serif;
margin: 0;
padding: 20px;
}
#main-container {
text-align: center;
background: white;
border-radius: 10px;
padding: 30px;
box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
button {
margin: 10px;
padding: 12px 20px;
font-size: 16px;
}
h1 {
color: #2196F3;
}
audio {
margin-top: 20px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Slate Broadcasting</h1>
<p>Start your live broadcast by capturing your voice. Stream effortlessly with Slate Broadcasting.</p>
<button id="start-broadcast" class="btn btn-success">Start Broadcast</button>
<button id="stop-broadcast" class="btn btn-danger" disabled>Stop Broadcast</button>
<div id="broadcast-output"></div>
</div>
</body>
</html>