From d144be2a006c145f9dc589dee87f325473bb9461 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 12:01:16 +0900 Subject: [PATCH 01/35] Create guide for seeking audio resource Create guide for seeking audio resource. --- guide/voice/seeking | 77 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 guide/voice/seeking diff --git a/guide/voice/seeking b/guide/voice/seeking new file mode 100644 index 000000000..e5d9f2053 --- /dev/null +++ b/guide/voice/seeking @@ -0,0 +1,77 @@ +# Seek + +Currently, there's no way to seek audio resources with raw discord.js such as: + +```js +const resource = createAudioResource(); + +resource.seek(1000); // This will be error! +``` + +But some packages provide seek options with these solutions. + +## Cheat sheet + +Methods + +1. Play audio +2. Create seeked resource +3. Play the seeked audio resource + +Yo, this should be easy, right? + +### Creation + +First, to seek resource, you have to create new function like this: + +```js +//Require necessary package +const prism = require("prism-media"); + +function createFFmpegStream(stream, seek) { + const seekPosition = seek.toString(); + const transcoder = new prism.FFmpeg({ + args: [ + '-analyzeduration', '0', + '-loglevel', '0', + '-f', 's16le', + '-ar', '48000', //This is audio quality + '-ac', '2', + '-ss', seekPosition || '0', //Seek position. Specidy with seconds. Should pass string + '-ab', '320', + ] + }); + const s16le = stream.pipe(transcoder); + const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); + return opus; +} +``` + +### Real installation + +```js +const { createAudioResource, createAudioPlayer } = require("@discordjs/voice"); +const fs = require("fs"); + +const player = createAudioPlayer(); +const normalAUdioResource = createAudioResource("Your audio file path"); + +player.play(normalAudioResource); + +const seekedAudioStream = createFFmpegStream(fs.createReadStream("Your audio file path"), "10"); //Seek to 10s +const seekedAudioResource = createAudioResource(seekedAudioStream); + +player.play(seekedAudioResource); +``` + +You can use other stream for createFFmpegStream() first argument. + +## Packages that can be used to seek audio resource easily + +distube +https://npm.im/distube + +discord-player +https://npm.im/discord-player + +And many other packages... From 19d5674cdb3a5dbb96c32e4fd48d539b25cb8605 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 12:46:17 +0900 Subject: [PATCH 02/35] Rename seeking to seeking.md --- guide/voice/{seeking => seeking.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename guide/voice/{seeking => seeking.md} (100%) diff --git a/guide/voice/seeking b/guide/voice/seeking.md similarity index 100% rename from guide/voice/seeking rename to guide/voice/seeking.md From 5f74157689a16b2538d43b4241e5788aaed43702 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 12:48:24 +0900 Subject: [PATCH 03/35] Update sidebar.ts --- guide/.vuepress/sidebar.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/guide/.vuepress/sidebar.ts b/guide/.vuepress/sidebar.ts index f90da926b..881110ce8 100644 --- a/guide/.vuepress/sidebar.ts +++ b/guide/.vuepress/sidebar.ts @@ -21,6 +21,7 @@ export default { '/voice/voice-connections.md', '/voice/audio-player.md', '/voice/audio-resources.md', + '/voice/seeking.md' ], }, ], From b45a3b7e5d7838af2cec49c38c11973e008d1cf5 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 12:54:37 +0900 Subject: [PATCH 04/35] Update seeking.md --- guide/voice/seeking.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index e5d9f2053..9f166a66e 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -20,6 +20,13 @@ Methods Yo, this should be easy, right? +::: warning +Make sure you have installed +``` +prism-media +``` +::: + ### Creation First, to seek resource, you have to create new function like this: @@ -68,10 +75,10 @@ You can use other stream for createFFmpegStream() first argument. ## Packages that can be used to seek audio resource easily -distube +distube: https://npm.im/distube -discord-player +discord-player: https://npm.im/discord-player And many other packages... From 2e18256b255bdb96d137b26f881e96b8e5838187 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 12:58:30 +0900 Subject: [PATCH 05/35] Update seeking.md --- guide/voice/seeking.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 9f166a66e..ffbb2f7ab 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -44,7 +44,7 @@ function createFFmpegStream(stream, seek) { '-f', 's16le', '-ar', '48000', //This is audio quality '-ac', '2', - '-ss', seekPosition || '0', //Seek position. Specidy with seconds. Should pass string + '-ss', seekPosition || '0', //Seek position. Specify with seconds. Should pass string '-ab', '320', ] }); @@ -73,12 +73,14 @@ player.play(seekedAudioResource); You can use other stream for createFFmpegStream() first argument. -## Packages that can be used to seek audio resource easily +## Packages distube: -https://npm.im/distube + +>https://npm.im/distube discord-player: -https://npm.im/discord-player + +>https://npm.im/discord-player And many other packages... From f756261c133de160d389c4d0aafc6203ebde6df0 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 13:03:19 +0900 Subject: [PATCH 06/35] Update seeking.md --- guide/voice/seeking.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index ffbb2f7ab..880313947 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -22,9 +22,8 @@ Yo, this should be easy, right? ::: warning Make sure you have installed -``` -prism-media -``` + +>prism-media ::: ### Creation @@ -74,13 +73,10 @@ player.play(seekedAudioResource); You can use other stream for createFFmpegStream() first argument. ## Packages - -distube: - ->https://npm.im/distube +>[Distube](https://npm.im/distube "Distube npm") discord-player: ->https://npm.im/discord-player +>[Discord-Player](https://npm.im/discord-player "Discord-Player") And many other packages... From 03f6a161aa887f30528be29f16e1255158200eb3 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 16:56:34 +0900 Subject: [PATCH 07/35] Update seeking.md --- guide/voice/seeking.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 880313947..9408474ef 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -23,7 +23,7 @@ Yo, this should be easy, right? ::: warning Make sure you have installed ->prism-media +prism-media ::: ### Creation @@ -35,13 +35,13 @@ First, to seek resource, you have to create new function like this: const prism = require("prism-media"); function createFFmpegStream(stream, seek) { - const seekPosition = seek.toString(); + const seekPosition = String(seek); const transcoder = new prism.FFmpeg({ args: [ '-analyzeduration', '0', '-loglevel', '0', '-f', 's16le', - '-ar', '48000', //This is audio quality + '-ar', '48000', '-ac', '2', '-ss', seekPosition || '0', //Seek position. Specify with seconds. Should pass string '-ab', '320', @@ -52,6 +52,13 @@ function createFFmpegStream(stream, seek) { return opus; } ``` +This function will return stream. If you want to change audio quality, you have to edit these: +```js +'-ar', '48000', + +const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); +``` +48000 to something you want. ### Real installation From 7e0d8dfabadd24c984792873d2f0bf97593d6d79 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 16:58:36 +0900 Subject: [PATCH 08/35] Update seeking.md --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 9408474ef..8a9a93a04 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -71,7 +71,7 @@ const normalAUdioResource = createAudioResource("Your audio file path"); player.play(normalAudioResource); -const seekedAudioStream = createFFmpegStream(fs.createReadStream("Your audio file path"), "10"); //Seek to 10s +const seekedAudioStream = createFFmpegStream(fs.createReadStream("Your audio file path"), 10); //Seek to 10s const seekedAudioResource = createAudioResource(seekedAudioStream); player.play(seekedAudioResource); From eb7eeb8df0dfd6b390bd33baeca3ef55f9357c7c Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 17:00:55 +0900 Subject: [PATCH 09/35] Update seeking.md --- guide/voice/seeking.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 8a9a93a04..2730adcf0 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -34,6 +34,9 @@ First, to seek resource, you have to create new function like this: //Require necessary package const prism = require("prism-media"); + +//stream -> should be audio stream +//seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { const seekPosition = String(seek); const transcoder = new prism.FFmpeg({ From 2c5a88fc4e555b9a3bd3bd3ac2aed4561d8c7437 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 17:01:20 +0900 Subject: [PATCH 10/35] Update seeking.md --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 2730adcf0..9eb6b6601 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -46,7 +46,7 @@ function createFFmpegStream(stream, seek) { '-f', 's16le', '-ar', '48000', '-ac', '2', - '-ss', seekPosition || '0', //Seek position. Specify with seconds. Should pass string + '-ss', seekPosition || '0', '-ab', '320', ] }); From 40d0feba22b55aa13526c11a0adf1274260adc41 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 17:03:06 +0900 Subject: [PATCH 11/35] Update seeking.md --- guide/voice/seeking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 9eb6b6601..6ed3f98f3 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -52,10 +52,10 @@ function createFFmpegStream(stream, seek) { }); const s16le = stream.pipe(transcoder); const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); - return opus; + return opus; //Return seeked stream } ``` -This function will return stream. If you want to change audio quality, you have to edit these: +This function will return seeked stream. If you want to change audio quality, you have to edit these: ```js '-ar', '48000', From 617f045d17b1318a9a2a367492c3929e511ba024 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Fri, 16 Jun 2023 17:04:30 +0900 Subject: [PATCH 12/35] Update seeking.md --- guide/voice/seeking.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 6ed3f98f3..1d5fa2e9f 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -85,8 +85,6 @@ You can use other stream for createFFmpegStream() first argument. ## Packages >[Distube](https://npm.im/distube "Distube npm") -discord-player: - >[Discord-Player](https://npm.im/discord-player "Discord-Player") And many other packages... From bad953e1a2792d6f661848fad59de8fbc7eafdd3 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Tue, 27 Jun 2023 15:45:33 +0900 Subject: [PATCH 13/35] Fixed miss --- guide/voice/seeking.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 1d5fa2e9f..56e006ce7 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -55,13 +55,12 @@ function createFFmpegStream(stream, seek) { return opus; //Return seeked stream } ``` -This function will return seeked stream. If you want to change audio quality, you have to edit these: +This function will return seeked stream. If you want to change audio quality, you have to edit this: ```js -'-ar', '48000', - -const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); +'-ar', '320', ``` -48000 to something you want. +320 to something you want. +320 mans 320Kbps. ### Real installation From ed8fc754a04d3601f2f4a84292803a1383df3c05 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Tue, 27 Jun 2023 15:46:23 +0900 Subject: [PATCH 14/35] Fixed typo --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 56e006ce7..9f0e84586 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -57,7 +57,7 @@ function createFFmpegStream(stream, seek) { ``` This function will return seeked stream. If you want to change audio quality, you have to edit this: ```js -'-ar', '320', +'-ab', '320', ``` 320 to something you want. 320 mans 320Kbps. From 22e99a4f56e7dc625c60c99d0f7578d7a5afe553 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Wed, 28 Jun 2023 08:59:55 +0900 Subject: [PATCH 15/35] Fixed typo, clean up --- guide/voice/seeking.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 9f0e84586..087908a18 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -60,7 +60,7 @@ This function will return seeked stream. If you want to change audio quality, yo '-ab', '320', ``` 320 to something you want. -320 mans 320Kbps. +320 means 320Kbps. ### Real installation @@ -80,10 +80,3 @@ player.play(seekedAudioResource); ``` You can use other stream for createFFmpegStream() first argument. - -## Packages ->[Distube](https://npm.im/distube "Distube npm") - ->[Discord-Player](https://npm.im/discord-player "Discord-Player") - -And many other packages... From d7002c89c541ea184f7e3eb9bec31a3fcb7b4c67 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Wed, 28 Jun 2023 09:51:22 +0900 Subject: [PATCH 16/35] Fixed typo --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 087908a18..6e3e2fc68 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -69,7 +69,7 @@ const { createAudioResource, createAudioPlayer } = require("@discordjs/voice"); const fs = require("fs"); const player = createAudioPlayer(); -const normalAUdioResource = createAudioResource("Your audio file path"); +const normalAudioResource = createAudioResource("Your audio file path"); player.play(normalAudioResource); From 2c8442caf482806e8f554128dcfc2d8f75a04e48 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Wed, 28 Jun 2023 09:51:39 +0900 Subject: [PATCH 17/35] Fixed typo --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 6e3e2fc68..66583b4de 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -5,7 +5,7 @@ Currently, there's no way to seek audio resources with raw discord.js such as: ```js const resource = createAudioResource(); -resource.seek(1000); // This will be error! +resource.seek(1000); // This will be an error! ``` But some packages provide seek options with these solutions. From 0bd114486ee86135c6c6aaada3a7df9ac5eab233 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Tue, 11 Jul 2023 09:24:18 +0900 Subject: [PATCH 18/35] Update seeking.md --- guide/voice/seeking.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 66583b4de..a5d648df7 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -3,6 +3,8 @@ Currently, there's no way to seek audio resources with raw discord.js such as: ```js +const { createAudioResource } = require("@discordjs/voice"); + const resource = createAudioResource(); resource.seek(1000); // This will be an error! @@ -20,12 +22,6 @@ Methods Yo, this should be easy, right? -::: warning -Make sure you have installed - -prism-media -::: - ### Creation First, to seek resource, you have to create new function like this: @@ -56,7 +52,7 @@ function createFFmpegStream(stream, seek) { } ``` This function will return seeked stream. If you want to change audio quality, you have to edit this: -```js +``` '-ab', '320', ``` 320 to something you want. From ca7e0f411a35d1542dca1c17b50e6f866ca8c429 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Mon, 17 Jul 2023 18:06:05 +0900 Subject: [PATCH 19/35] Update seeking.md --- guide/voice/seeking.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index a5d648df7..b02fa29e7 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -3,7 +3,7 @@ Currently, there's no way to seek audio resources with raw discord.js such as: ```js -const { createAudioResource } = require("@discordjs/voice"); +const { createAudioResource } = require('@discordjs/voice'); const resource = createAudioResource(); @@ -27,12 +27,12 @@ Yo, this should be easy, right? First, to seek resource, you have to create new function like this: ```js -//Require necessary package -const prism = require("prism-media"); +// Require necessary package +const prism = require('prism-media'); -//stream -> should be audio stream -//seek -> should be int that within duration of the stream +// stream -> should be audio stream +// seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { const seekPosition = String(seek); const transcoder = new prism.FFmpeg({ @@ -48,7 +48,7 @@ function createFFmpegStream(stream, seek) { }); const s16le = stream.pipe(transcoder); const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); - return opus; //Return seeked stream + return opus; // Return seeked stream } ``` This function will return seeked stream. If you want to change audio quality, you have to edit this: @@ -61,15 +61,15 @@ This function will return seeked stream. If you want to change audio quality, yo ### Real installation ```js -const { createAudioResource, createAudioPlayer } = require("@discordjs/voice"); -const fs = require("fs"); +const { createAudioResource, createAudioPlayer } = require('@discordjs/voice'); +const fs = require('fs'); const player = createAudioPlayer(); -const normalAudioResource = createAudioResource("Your audio file path"); +const normalAudioResource = createAudioResource('Your audio file path'); player.play(normalAudioResource); -const seekedAudioStream = createFFmpegStream(fs.createReadStream("Your audio file path"), 10); //Seek to 10s +const seekedAudioStream = createFFmpegStream(fs.createReadStream('Your audio file path'), 10); // Seek to 10s const seekedAudioResource = createAudioResource(seekedAudioStream); player.play(seekedAudioResource); From a9949dbb4f030cb018c33e2adfe4b3405cc21e24 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Mon, 17 Jul 2023 19:03:30 +0900 Subject: [PATCH 20/35] Update seeking.md --- guide/voice/seeking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index b02fa29e7..4ed06de26 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -31,7 +31,7 @@ First, to seek resource, you have to create new function like this: const prism = require('prism-media'); -// stream -> should be audio stream +// stream -> should be audio stream // seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { const seekPosition = String(seek); @@ -44,7 +44,7 @@ function createFFmpegStream(stream, seek) { '-ac', '2', '-ss', seekPosition || '0', '-ab', '320', - ] + ], }); const s16le = stream.pipe(transcoder); const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); From 85cbbeb87e48aaa6561b69215abe2bf00e3efebc Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Mon, 17 Jul 2023 19:24:00 +0900 Subject: [PATCH 21/35] Update seeking.md --- guide/voice/seeking.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 4ed06de26..db2c85ab0 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -34,7 +34,8 @@ const prism = require('prism-media'); // stream -> should be audio stream // seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { - const seekPosition = String(seek); + let seekPosition = 0; + if(seek) seekPosition = String(seek); const transcoder = new prism.FFmpeg({ args: [ '-analyzeduration', '0', @@ -42,7 +43,7 @@ function createFFmpegStream(stream, seek) { '-f', 's16le', '-ar', '48000', '-ac', '2', - '-ss', seekPosition || '0', + '-ss', seekPosition, '-ab', '320', ], }); From ea10ddb7cc362517610399dea1e79e567e431dc7 Mon Sep 17 00:00:00 2001 From: Fyphen1223 Date: Mon, 17 Jul 2023 19:25:34 +0900 Subject: [PATCH 22/35] Update seeking.md --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index db2c85ab0..343190949 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -34,7 +34,7 @@ const prism = require('prism-media'); // stream -> should be audio stream // seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { - let seekPosition = 0; + let seekPosition = "0"; if(seek) seekPosition = String(seek); const transcoder = new prism.FFmpeg({ args: [ From ad259d2121b36ab350a3d01537682467ccb69bef Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 09:34:52 +0900 Subject: [PATCH 23/35] Updated for ESLint --- guide/voice/seeking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 343190949..7548123e1 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -34,8 +34,8 @@ const prism = require('prism-media'); // stream -> should be audio stream // seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { - let seekPosition = "0"; - if(seek) seekPosition = String(seek); + let seekPosition = '0'; + if (seek) seekPosition = String(seek); const transcoder = new prism.FFmpeg({ args: [ '-analyzeduration', '0', From e80ba426034c8745b6ee82df88b90b74d64afb8b Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:41:30 +0900 Subject: [PATCH 24/35] Update guide/voice/seeking.md Co-authored-by: megatank58 --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 7548123e1..9e7f393ef 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -76,4 +76,4 @@ const seekedAudioResource = createAudioResource(seekedAudioStream); player.play(seekedAudioResource); ``` -You can use other stream for createFFmpegStream() first argument. +The first argument of the `createFFmpegStream` method would be your stream. From 370cee29153301541ab36ca3b154543628bdc25e Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:41:41 +0900 Subject: [PATCH 25/35] Update guide/voice/seeking.md Co-authored-by: megatank58 --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 9e7f393ef..d034ce79f 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -59,7 +59,7 @@ This function will return seeked stream. If you want to change audio quality, yo 320 to something you want. 320 means 320Kbps. -### Real installation +### Complete Code ```js const { createAudioResource, createAudioPlayer } = require('@discordjs/voice'); From cf704f55f202e957e686449ffd6db301d4be531c Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:42:16 +0900 Subject: [PATCH 26/35] Update guide/voice/seeking.md Co-authored-by: megatank58 --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index d034ce79f..8ed38880b 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -1,6 +1,6 @@ # Seek -Currently, there's no way to seek audio resources with raw discord.js such as: +discord.js does not have a built-in method for seeking audio resources. However external libraries such as `prism-media` can be used to tackle this issue. ```js const { createAudioResource } = require('@discordjs/voice'); From 3a0f0ffe24056d57cdbe49a728d49e0bc653db88 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:43:06 +0900 Subject: [PATCH 27/35] Update guide/voice/seeking.md Co-authored-by: megatank58 --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 8ed38880b..8cea26678 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -24,7 +24,7 @@ Yo, this should be easy, right? ### Creation -First, to seek resource, you have to create new function like this: +To seek resource, you can create a new function with the following code: ```js // Require necessary package From 6cb224a2e83c6cdcc025c83aff9b0013deb15f16 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:49:45 +0900 Subject: [PATCH 28/35] Update guide/voice/seeking.md Co-authored-by: megatank58 --- guide/voice/seeking.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 8cea26678..7c7580053 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -52,12 +52,7 @@ function createFFmpegStream(stream, seek) { return opus; // Return seeked stream } ``` -This function will return seeked stream. If you want to change audio quality, you have to edit this: -``` -'-ab', '320', -``` -320 to something you want. -320 means 320Kbps. +The function returns the seeked stream. For more configuration options you can look at the [prism media documentation](https://amishshah.github.io/prism-media/). ### Complete Code From 06a8f866ff8bdd6229f0b4617e59702940dc6c55 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:51:08 +0900 Subject: [PATCH 29/35] Update seeking.md --- guide/voice/seeking.md | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 7c7580053..ea3f1e6cd 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -2,26 +2,6 @@ discord.js does not have a built-in method for seeking audio resources. However external libraries such as `prism-media` can be used to tackle this issue. -```js -const { createAudioResource } = require('@discordjs/voice'); - -const resource = createAudioResource(); - -resource.seek(1000); // This will be an error! -``` - -But some packages provide seek options with these solutions. - -## Cheat sheet - -Methods - -1. Play audio -2. Create seeked resource -3. Play the seeked audio resource - -Yo, this should be easy, right? - ### Creation To seek resource, you can create a new function with the following code: From b378a52f3afd21d25634967d080ee858ca6e7295 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:51:32 +0900 Subject: [PATCH 30/35] Update guide/voice/seeking.md Co-authored-by: megatank58 --- guide/voice/seeking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index ea3f1e6cd..cba769a4c 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -2,7 +2,7 @@ discord.js does not have a built-in method for seeking audio resources. However external libraries such as `prism-media` can be used to tackle this issue. -### Creation +### Sample code To seek resource, you can create a new function with the following code: From b4ce22196b4f89d2c853ae02ec9b2946ec4a7f48 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:53:45 +0900 Subject: [PATCH 31/35] Update seeking.md --- guide/voice/seeking.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index cba769a4c..582086214 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -14,22 +14,22 @@ const prism = require('prism-media'); // stream -> should be audio stream // seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { - let seekPosition = '0'; - if (seek) seekPosition = String(seek); - const transcoder = new prism.FFmpeg({ - args: [ - '-analyzeduration', '0', - '-loglevel', '0', - '-f', 's16le', - '-ar', '48000', - '-ac', '2', - '-ss', seekPosition, - '-ab', '320', - ], - }); - const s16le = stream.pipe(transcoder); - const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); - return opus; // Return seeked stream + let seekPosition = '0'; + if (seek) seekPosition = String(seek); + const transcoder = new prism.FFmpeg({ + args: [ + '-analyzeduration', '0', + '-loglevel', '0', + '-f', 's16le', + '-ar', '48000', + '-ac', '2', + '-ss', seekPosition, + '-ab', '320', + ], + }); + const s16le = stream.pipe(transcoder); + const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); + return opus; // Return seeked stream } ``` The function returns the seeked stream. For more configuration options you can look at the [prism media documentation](https://amishshah.github.io/prism-media/). From 9d91bdf4ae27695bef69e467024f6b9bffa4acd0 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:55:24 +0900 Subject: [PATCH 32/35] Update seeking.md --- guide/voice/seeking.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 582086214..190f58a50 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -10,9 +10,6 @@ To seek resource, you can create a new function with the following code: // Require necessary package const prism = require('prism-media'); - -// stream -> should be audio stream -// seek -> should be int that within duration of the stream function createFFmpegStream(stream, seek) { let seekPosition = '0'; if (seek) seekPosition = String(seek); @@ -29,9 +26,10 @@ function createFFmpegStream(stream, seek) { }); const s16le = stream.pipe(transcoder); const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); - return opus; // Return seeked stream + return opus; } ``` +The first argument for this function should be audio stream, and second one should be int within duration of the stream. The function returns the seeked stream. For more configuration options you can look at the [prism media documentation](https://amishshah.github.io/prism-media/). ### Complete Code From 4d148f10c6378e0bad2c9396bd678abded0772da Mon Sep 17 00:00:00 2001 From: Fyphen Date: Tue, 1 Aug 2023 10:57:45 +0900 Subject: [PATCH 33/35] Update seeking.md --- guide/voice/seeking.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index 190f58a50..acaa29ba2 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -23,10 +23,10 @@ function createFFmpegStream(stream, seek) { '-ss', seekPosition, '-ab', '320', ], - }); - const s16le = stream.pipe(transcoder); - const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); - return opus; + }); + const s16le = stream.pipe(transcoder); + const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); + return opus; } ``` The first argument for this function should be audio stream, and second one should be int within duration of the stream. From cf66d0c6701824abf6c6e8617fb00f2de74ff1e5 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Thu, 24 Aug 2023 17:40:46 +0900 Subject: [PATCH 34/35] Updated for ESLint --- guide/voice/seeking.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index acaa29ba2..eace58344 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -11,22 +11,22 @@ To seek resource, you can create a new function with the following code: const prism = require('prism-media'); function createFFmpegStream(stream, seek) { - let seekPosition = '0'; - if (seek) seekPosition = String(seek); - const transcoder = new prism.FFmpeg({ - args: [ - '-analyzeduration', '0', - '-loglevel', '0', - '-f', 's16le', - '-ar', '48000', - '-ac', '2', - '-ss', seekPosition, - '-ab', '320', - ], - }); - const s16le = stream.pipe(transcoder); - const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); - return opus; + let seekPosition = '0'; + if (seek) seekPosition = String(seek); + const transcoder = new prism.FFmpeg({ + args: [ + '-analyzeduration', '0', + '-loglevel', '0', + '-f', 's16le', + '-ar', '48000', + '-ac', '2', + '-ss', seekPosition, + '-ab', '320', + ], + }); + const s16le = stream.pipe(transcoder); + const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); + return opus; } ``` The first argument for this function should be audio stream, and second one should be int within duration of the stream. From 42f89d33f7d52dadb69340aae3b48e9673b2add5 Mon Sep 17 00:00:00 2001 From: Fyphen Date: Fri, 25 Aug 2023 09:58:31 +0900 Subject: [PATCH 35/35] Update for just ESLint --- guide/voice/seeking.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/guide/voice/seeking.md b/guide/voice/seeking.md index eace58344..8ebe70fcc 100644 --- a/guide/voice/seeking.md +++ b/guide/voice/seeking.md @@ -14,16 +14,8 @@ function createFFmpegStream(stream, seek) { let seekPosition = '0'; if (seek) seekPosition = String(seek); const transcoder = new prism.FFmpeg({ - args: [ - '-analyzeduration', '0', - '-loglevel', '0', - '-f', 's16le', - '-ar', '48000', - '-ac', '2', - '-ss', seekPosition, - '-ab', '320', - ], - }); + args: ['-analyzeduration', '0', '-loglevel', '0', '-f', 's16le', '-ar', '48000', '-ac', '2', '-ss', seekPosition, '-ab', '320',], + }); const s16le = stream.pipe(transcoder); const opus = s16le.pipe(new prism.opus.Encoder({ rate: 48000, channels: 2, frameSize: 960 })); return opus;