1.2.6 • Published 11 months ago
koice v1.2.6
koice.js
Node.js SDK to stream audio content to a KOOK voice channel.
How to use
import Koice from 'koice';
You must have ffmpeg
in your PATH, or you can specify one
const kasumi = new Kasumi({
type: "websocket",
token: "Your KOOK bot token",
})
const koice = await Koice.create(kasumi, "Id of the channel to stream to", {
// all entries are optional
// password to the channel if exists
password: "12345678"
// use the same port and socket for both RTP and RTCP
// issues may occur if set to true
rtcpMux: false,
// apply factor to official defined bitrate for the voice channel
// use smaller value to avoid being kicked for overrate
bitrateFactor: 0.9,
// force koice.js to stream realtime
// required if not pushing audio contents at appropriate rate (eg. entire track at once)
forceRealSpeed: false,
// make koice use a specific ffmpeg binary
binary: "/path/to/ffmpeg"
});
const fileHead: Buffer = ...;
const chunk: Buffer = ...;
/**
* IMPORTANT: set file head separately first
* this will be used to determine your file format
* when reconnecting to the channel once network problems occured,
*
* or alternatively push file head directly.
* `koice.push(fileHead);`
* i.e. the first chunk that was pushed will be saved as file head.
*/
koice.setFilehead(fileHead);
// starts pushing the rest of your audio file
koice.push(chunk);
import * as fs from 'fs';
const kasumi = new Kasumi({
type: "websocket",
token: "Your KOOK bot token",
})
const koice = await Koice.create(kasumi, "Id of the channel to stream to", {
password: "12345678"
rtcpMux: false,
bitrateFactor: 0.9,
forceRealSpeed: false
});
const fileHead: Buffer = ...;
const chunk: Buffer = ...;
/**
* IMPORTANT: set file head separately first
* this will be used to determine your file format
* when reconnecting to the channel once network problems occured,
*
* or alternatively push file head directly.
* `koice.push(fileHead);`
* i.e. the first chunk that was pushed will be saved as file head.
*/
koice.setFilehead(fileHead);
koice.push(chunk);
You can refer to kook-arisa for usage of this package in real world application.
© 2022-2024 salt, Koice.js and kook-arisa, released under the MIT license.
1.2.0
12 months ago
1.1.0
12 months ago
1.0.1
1 year ago
1.0.0
1 year ago
1.2.6
11 months ago
1.2.5
12 months ago
1.2.4
12 months ago
1.2.3
12 months ago
1.2.2
12 months ago
1.2.1
12 months ago
0.2.5
1 year ago
0.2.4
1 year ago
0.1.12
2 years ago
0.1.13
2 years ago
0.2.1
2 years ago
0.2.0
2 years ago
0.2.3
2 years ago
0.2.2
2 years ago
0.1.11
3 years ago
0.1.10
3 years ago
0.1.9
3 years ago
0.1.8
3 years ago
0.1.7
3 years ago
0.1.6
3 years ago
0.1.5
3 years ago
0.1.4
3 years ago
0.1.3
3 years ago
0.1.2
3 years ago
0.1.1
3 years ago
0.1.0
3 years ago