Stream & play Aud ios, полученный через TCP-пакеты в JavaScript / Html5 - PullRequest
1 голос
/ 25 февраля 2020

У меня есть определенные TCP пакеты, содержащие аудиоданные в нем.
Я новичок ie до Js и html5.
Я написал что-то вроде этого, которое создает жужжание. Я хотел знать, как выглядят аудиосэмплы в пакете TCP.

Я захватил TCP пакетов с помощью wire-shark, сегмент данных показывает некоторые символы и его значение ASCII .
Я считаю, что эти символы являются аудиоданными. При условии, как я могу передать их на myArrayBuffer, как показано ниже?



    var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
    var source = audioCtx.createBufferSource();
       function Set1()
       {
    try {
    
    
    // Create an empty three-second stereo buffer at the sample rate of the AudioContext
    var myArrayBuffer = audioCtx.createBuffer(2, audioCtx.sampleRate * 30, audioCtx.sampleRate);
    
    // Fill the buffer with white noise;
    // just random values between -1.0 and 1.0
    for (var channel = 0; channel < myArrayBuffer.numberOfChannels; channel++) {
      // This gives us the actual array that contains the data
      var nowBuffering = myArrayBuffer.getChannelData(channel);
      for (var i = 0; i < myArrayBuffer.length; i++) {
        // Math.random() is in [0; 1.0]
        // audio needs to be in [-1.0; 1.0]
        nowBuffering[i] = Math.random() * 2 - 1;
      }
    }
    
    // set the buffer in the AudioBufferSourceNode
    source.buffer = myArrayBuffer;
    
    // connect the AudioBufferSourceNode to the
    // destination so we can hear the sound
    source.connect(audioCtx.destination);
    
    // start the source playing
    source.start();
      }
      catch(e) {
        alert('Web Audio API is not supported in this browser');
      }
    }
    
    function stop()
    {
    try {
    source.stop();
    
    }
      catch(e) {
        alert('Unable to stop file');
      }
    }
...