PearDownloader is a multi-source and multi-protocol P2P streaming downloader that works in the browser. It's easy to get started!
Simply include the
(pear-downloader.min.js
)
script on your page:
<script src="pear-downloader.min.js"></script>
To install PearPlayer for use in the browser with require('PearDownloader')
, run:
npm install peardownloader --save
Then you can require PearDownloader like this:
var PearDownloader = require('PearDownloader');
var PearDownloader = require('PearDownloader');
var downloader = new PearDownloader(url);
There is a complete example in examples/downloader-test.html。
/**
* @param {string} url 第一个参数为url
* @param {boolean} object.useMonitor 是否开启monitor,会稍微影响性能,默认false
*/
var downloader = new PearDownloader(url, { useMonitor: true });
downloader.on('begin', onBegin);
downloader.on('progress', onProgress);
downloader.on('sourcemap', onSourceMap);
downloader.on('done', onDone);
function onBegin(fileLength, chunks) {
console.log('start downloading buffer by first aid, file length is:' + fileLength + ' total chunks:' + chunks);
}
function onProgress(downloaded) {
console.log('Progress: ' + (downloaded * 100).toFixed(1) + '%');
}
function onDone() {
console.log('finished downloading buffer by first aid');
}
function onSourceMap(sourceType, index) {
console.log('Received source type:' + sourceType + ' index:' + index);
}
PearDownloader works great with browserify, which lets
you use node.js style require()
to organize your browser
code, and load packages installed by npm.
npm install -g browserify
Install dependencies:
npm install
To get a normal size bundle,use:
npm run build-downloader
To get a compressed bundle,use:
npm run uglify-downloader
Check out the API Documentation and FAQ for more details.