Ищу chrome аудио плеер не работает - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь прочитать музыку c из моего бэкэнда на chrome / firefox / a ioni c projet. Я не могу щелкнуть по временной шкале, чтобы выбрать время, которое я хочу go, когда я слушаю на плеере Google chrome или ioni c musi c. Музыка c просто перезапускается с 00:00, когда я это делаю. Я попытался выполнить запрос от почтальона, и он мог правильно прочитать musi c и установить желаемое время при нажатии на шкалу времени, то же самое на firefox (работает правильно). Однако он не работает на chrome, как я сказал, * * * * * * * * * * * * * * * * * *, просто перезапустите, когда вы щелкнете по временной шкале. Вот мой бэкэнд-маршрут:

EDIT1: моя единственная подсказка - когда я использую howler. js в качестве игрока, если я передам HTML5 = true, он не будет работать, и если я не заставлю его работать, даже если он открыт на chrome ... (https://www.npmjs.com/package/howler) или, возможно, отсутствует заголовок?

getMusic(req, res) {

        try {
            var trackID = new ObjectID(req.params.trackID);
        } catch (err) {
            return res.status(400).json({ message: "Invalid trackID in URL parameter. Must be a single String of 12 bytes or a string of 24 hex characters" });
        }
        res.set('content-type', 'audio/mpeg');
        res.set('accept-ranges', 'bytes');

        let bucket = new mongodb.GridFSBucket(db, {
            bucketName: 'tracks'
        });

        let downloadStream = bucket.openDownloadStream(trackID);

        downloadStream.on('data', (chunk) => {
            res.write(chunk);
        });

        downloadStream.on('error', () => {
            res.sendStatus(404);
        });

        downloadStream.on('end', () => {
            res.end();
        });
    },

1 Ответ

0 голосов
/ 14 марта 2020

В этом коде отсутствовал заголовок «Content-length», и после попытки с фиктивной фигурой он работает. Мне просто нужно найти, как получить длину musi c, поэтому я закрываю этот пост.

пример res.set('content-length', '5000000');

...