JSFiddle - React, Tailwind, and code Playground

by velo_ninja

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Audio Player</title>
</head>
<body>
  <div>
    <label for="audioInput">Paste your base64-encoded audio data:</label>
    <textarea id="audioInput" rows="4" cols="50"></textarea>
    <br>
    <button onclick="playAudio()">Play Audio</button>
  </div>

  <script>
    function playAudio() {
      const audioInput = document.getElementById('audioInput').value.trim();

      if (audioInput) {
        const audioElement = new Audio();
        audioElement.src = `data:audio/mpeg;base64,${audioInput}`;
        audioElement.controls = true;

        document.body.appendChild(audioElement);
        audioElement.play();
      } else {
        alert('Please provide a base64-encoded audio data.');
      }
    }
  </script>
</body>
</html>

JavaScript

// Sample audio data in binary format
const binaryAudioData = new Uint8Array([73, 68, 51, 51, 1, 2, 3, 4, 5]);

// Convert binary data to base64
const base64AudioData = btoa(String.fromCharCode(...binaryAudioData));

console.log(base64AudioData);