A minimalist javascript audio player for PCM streaming audio
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Samir Das 8ac0006890
update readme volume
7 years ago
example server example sample bytes added 7 years ago
.gitignore started 7 years ago
.npmignore started 7 years ago
README.md update readme volume 7 years ago
package.json example added 7 years ago
pcm-player.js pcm samples by channel 7 years ago

README.md

PCM Player

A minimalist javascript audio player for PCM streaming data for the browsers.

How to use?

var player = new PCMPlayer(option);

Available options are:

encoding - possible values 8bitInt / 16bitInt / 32bitInt / 32bitFloat default: 16bitInt

channels - no of channels in opus data

sampleRate - sample rate of the PCM data

flushingTime - flushing interval of PCM data to be played in milisecond. Default 1000ms

Decoder fire an event decode whenever it completes decoding. Usually it decodes several opus packet at a time for better performance although it need to be provided single opus packet into decode method.

Complete example:

var player = new PCMPlayer({
    encoding: '16bitInt',
    channels: 2,
    sampleRate: 8000,
    flushingTime: 2000
});

// Now feed PCM data into player getting from websocket or ajax whatever the transport you are using.
player.feed(pcm_data);

Available Methods

Name Parameter Remark
feed raw PCM data Usually get from ajax or websocket
volume decimal value 0 to 1 For controlling volume of the player
destroy - Destroy the player instance and release the resources

Compatibility

it is supported on:

  • Chrome for Android 34+
  • Chrome for Desktop 34+
  • Firefox for Android 41+
  • Firefox for Desktop 42+
  • IE11+ for Windows 8.1+
  • Edge for Windows 10+
  • Opera for Desktop
  • Safari for Mac 8+
  • Safari for iOS 8+

How to run example?

An example with simple node server script is available that include some raw pcm data that will be served by websocket and at the client end, it will be played through PCM player. For running the example, first run the node server by following command:

node server.js

then, visit example/index.html page through any webserver.