static files vs streaming node.js

Solution for static files vs streaming node.js
is Given Below:

what’s better for sending large files from the server like ‘audio’ files, static files of streams?
i’m implementing an audio player api using node.js and express.js but i’m looking for the better performance.

i can send audio using express like this:

app.use('/uploads', express.static(path.join(__dirname, '../', 'uploads')));

Or using fs streams like:

export async function streamAudio(req: Request, res: Response, next: NextFunction) {
    try {
        const filePath: string = req.params.fileName;

        const actualPath = path.join(__dirname, "/../../../", filePath);

        const state = fs.statSync(actualPath);
        res.writeHead(200, {
            "Content-Type": "audio/mpeg",
            "Content-Length": state.size,

        const readStream = fs.createReadStream(actualPath);

    } catch (err) {

I have another problem, how to make the audio un able to be downloaded? So I can make a download end-point option for tracking downloads.