前端下载音频的两种处理方式

页面音频下载遇到的问题记录

一、后端给的音频地址是个音频流

这种情况,前端可以直接下载,示例如下:window.location.href=audioUrl;

二、后端给的音频地址是个播放地址

这种情况,前端需要再次请求,将播放地址返回结果转为blob流,然后进行下载,示例如下:
	//音频地址
	let audioPath = audioUrl;
	//音频名称
	let audioName = 'aaa.mp3';
	axios({
	    method:'get',
	     url:audioPath,
	     responseType:'blob',
	 }).then((res) => {
	     // 为blob设置文件类型
	     let blob = new Blob([res.data]);
	     // 创建一个临时的url指向blob对象
	     let url = window.URL.createObjectURL(blob); 
	     //创建一个a标签,用来下载
	     let a = document.createElement("a");
	     a.href = url;
	     a.download = audioName;
	     a.click();
	     // 释放这个临时的对象url
	     window.URL.revokeObjectURL(url);
	 })
Web前端开发通常涉及构建响应式、交互性强的网站,其中包含文本、图片、音频和视频等多种媒体元素。对于创建两个包含不同列表类型的网页,我们可以选择HTML5结合CSS样式和JavaScript来实现。 1. **网页一:无序列表(Unordered List)** - HTML结构: ```html <div class="page1"> <h1>页面标题</h1> <ul> <li><img src="image1.jpg" alt="图片1"> 文字描述1</li> <li><i class="fa fa-play-circle-o"></i> 音频1链接<audio controls></audio></li> <li> <video width="320" height="240" controls> <source src="video1.mp4" type="video/mp4"> </video> 视频描述1 </li> </ul> </div> ``` - CSS样式(例如使用Bootstrap或自定义样式): ```css .page1 ul { list-style-type: disc; margin-left: 20px; } ``` 2. **网页二:有序列表(Ordered List)** - HTML结构: ```html <div class="page2"> <h1>另一个页面标题</h1> <ol> <li data-content="图文1"><img src="image2.jpg" alt="图片2"> 图文内容1</li> <li data-content="视频2链接"><iframe width="560" height="315" src="https://www.youtube.com/embed/video2" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></li> <li> <figure> <img src="image3.jpg" alt="视频预览"> <figcaption>视频描述2</figcaption> </figure> <audio controls> <source src="video2.mp3" type="audio/mpeg"> </audio> </li> </ol> </div> ``` - CSS样式: ```css .page2 ol { list-style-type: decimal; margin-left: 40px; } ``` **相关问题--:** 1. 如何在HTML中添加自定义图标到无序列表项中? 2. 如何在网页中嵌入外部视频?有哪些常见格式? 3. 对于有音视频的项目,如何优化加载速度和用户体验?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值