问题描述
我目前正在开发 chrome 扩展程序,以便从 JioSaavn.com 下载歌曲。在我的实现中,我使用 Vercel 实例作为代理。这是扩展中 CORS 错误的解决方法。服务器代码如下所示。
const axios = require('axios')
module.exports = (req,res) => {
res.setHeader('Access-Control-Allow-Origin','*')
res.setHeader('Cache-Control','s-maxage=300,stale-while-revalidate')
const URL = req.url // requested url
// get array buffer
if (url === '/') return res.redirect('https://github.com/Graygalaxy/jiosaavn-downloader')
let server_url = `https://snoidcdnems02.cdnsrv.jio.com/c.saavncdn.com/${URL}`
axios.get(src_url,{ responseType: 'arraybuffer' })
.then(r => r.data)
.then(result => res.send(result))
.catch(() => {
res.status(400).send('Cannot access the requested URL')
})
}
}
这会输出一个 MP4 文件(仅包含音频)。例如,如果您将 /983/01100b84f61ca8b3a0432f12c564be8e_96.mp4
作为 URL
参数,它将输出为 MP4。
现在我想将该响应 MP4 转换为 MP3 文件。我尝试了 ffmpeg、fluent-ffmpef 和许多其他实现。他们中的大多数不支持 ArrayBuffer 作为输入(我认为)它没有按预期提供任何输出。或者可能 Vercel 不允许文件浏览器。
请给出解决方案。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)