mirror of
https://github.com/ZHANGTIANYAO1/teamspeak-music-bot.git
synced 2026-10-01 20:42:50 +08:00
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
665 B
TypeScript
26 lines
665 B
TypeScript
import { OpusEncoder } from "@discordjs/opus";
|
|
|
|
const SAMPLE_RATE = 48000;
|
|
const CHANNELS = 2;
|
|
const FRAME_DURATION_MS = 20;
|
|
export const FRAME_SIZE = (SAMPLE_RATE * FRAME_DURATION_MS) / 1000; // 960 samples
|
|
export const PCM_FRAME_BYTES = FRAME_SIZE * CHANNELS * 2; // 3840 bytes (16-bit stereo)
|
|
|
|
export interface Encoder {
|
|
encode(pcm: Buffer): Buffer;
|
|
decode(opus: Buffer): Buffer;
|
|
}
|
|
|
|
export function createOpusEncoder(): Encoder {
|
|
const opus = new OpusEncoder(SAMPLE_RATE, CHANNELS);
|
|
|
|
return {
|
|
encode(pcm: Buffer): Buffer {
|
|
return opus.encode(pcm);
|
|
},
|
|
decode(opusData: Buffer): Buffer {
|
|
return opus.decode(opusData);
|
|
},
|
|
};
|
|
}
|