api: add audio bitrate functionality

This commit is contained in:
wukko
2024-08-22 19:35:17 +06:00
parent fb5d68a830
commit 91fd26e880
6 changed files with 38 additions and 22 deletions

View File

@@ -5,7 +5,7 @@ import { createResponse } from "./request.js";
import { createStream } from "../stream/manage.js";
import { audioIgnore, services } from "./service-config.js";
export default function({ r, host, audioFormat, isAudioOnly, isAudioMuted, disableMetadata, filenameStyle, twitterGif, requestIP }) {
export default function({ r, host, audioFormat, isAudioOnly, isAudioMuted, disableMetadata, filenameStyle, twitterGif, requestIP, audioBitrate }) {
let action,
responseType = "stream",
defaultParams = {
@@ -193,8 +193,10 @@ export default function({ r, host, audioFormat, isAudioOnly, isAudioMuted, disab
params = {
type: processType,
u: Array.isArray(r.urls) ? r.urls[1] : r.urls,
audioFormat: audioFormat,
copy: copy
audioBitrate,
audioCopy: copy,
audioFormat,
}
break;
}

View File

@@ -261,7 +261,8 @@ export default async function(host, patternMatch, obj) {
disableMetadata,
filenameStyle: obj.filenameStyle,
twitterGif: obj.twitterGif,
requestIP
requestIP,
audioBitrate: obj.audioBitrate,
})
} catch {
return createResponse("error", {

View File

@@ -8,6 +8,10 @@ export const apiSchema = z.object({
.min(1)
.transform((url) => normalizeURL(decodeURIComponent(url))),
audioBitrate: z.enum(
["320", "256", "128", "96", "64"]
).default("256"),
audioFormat: z.enum(
["best", "mp3", "ogg", "wav", "opus"]
).default("mp3"),