pcm-player-v2
v0.0.19
Published
A minimalist javascript audio player for PCM streaming audio
Maintainers
Readme
PCMPlayer
A minimalist javascript audio player for PCM streaming data for the browsers.
浏览器端简单的PCM数据流播放器
How to use?(使用说明)
var player = new PCMPlayer(options);Available options are:
可配置项如下:
| Name | Parameter |Default | Type |Remark| | ----- |:-----:| -----:|-----:|-----:| |inputCodec| Int8 / Int16 / Int32 / Float32 |Int16|string|编码格式| |channels| |1|number |声道数| |sampleRate| |8000| number|采样率| |flushTime| |1000|number| flushing interval of PCM data to be played in milisecond(PCM数据缓冲多久进行播放)| |fftSize| |2048|number| a power of 2 between 2^5 and 2^15|
Complete example(使用示例):
Install(安装)
install by CDN or npm
CDN
<script src="https://unpkg.com/pcm-player-v2"></script>ES6
npm i pcm-player-v2// in your js/ts file
import PCMPlayer from 'pcm-player-v2'use(使用)
var player = new PCMPlayer({
inputCodec: 'Int16',
channels: 2,
sampleRate: 8000,
flushTime: 2000
});
// Now feed PCM data into player getting from websocket or ajax whatever the transport you are using.Accept ArrayBuffer or TypedArray
// 接收PCM格式的原始数据,ArrayBuffer 类型或者 TypedArray 类型
player.feed(pcm_data);Available Methods(方法)
| Name | Parameter | Remark | | ------------- |:-------------:| -----:| | feed | raw PCM data | Usually get from ajax or websocket | volume | decimal value 0 to +∞ () | For controlling volume of the player, default is 1 | | destroy | - | Destroy the player instance and release the resources | | pause |-|pause playing| | continue|-|resume playing|
Available Attributes(属性)
| Name | Remark | | ------------- | -----:| | audioCtx | current AudioContext | gainNode | AudioContext gainNode | analyserNode | AudioContext AnalyserNode
Available Event(事件)
|Name|Parameter|Remark| |----|---------|-| |onstatechange|(node, event, type)|node: AudioContext, event: Event, type: AudioContextState| |onended|(node, event)|node: AudioBufferSourceNode, event: Event|
