用js 模仿网易云 获取音频时长
时间: 2024-05-06 14:19:20 浏览: 115
可以使用HTML5的`audio`标签来获取音频时长,代码如下:
```javascript
let audio = new Audio('音频地址');
audio.onloadedmetadata = function() {
console.log('音频时长:' + audio.duration + '秒');
}
```
其中,`onloadedmetadata`事件在音频元数据加载完毕后触发,可以获取音频时长。
需要注意的是,由于浏览器安全策略的限制,如果音频地址跨域,则无法读取音频元数据。此时需要使用后端代理或者跨域访问授权等方法来解决跨域问题。
相关问题
js怎么获取网易云音乐歌曲的音频
在JavaScript中直接获取网易云音乐歌曲的音频内容通常涉及到网络爬虫技术,因为网易云音乐的API并没有公开提供直接下载或访问歌曲文件的服务。如果你想在网页上嵌入网易云音乐的歌曲,可以使用其提供的HTML5播放器嵌入代码。
以下是一个基本的步骤:
1. **嵌入代码**:首先,在网易云音乐的歌曲页面找到分享链接,复制"分享地址"中的链接,它通常是类似这样的URL:`http://music.163.com/#/song?id=XXX`。替换`XXX`为你想要的歌曲ID。
2. **创建HTML**:将获取到的分享链接复制到HTML的`<audio>`标签中作为`src`属性,例如:
```html
<audio controls src="https://music.163.com/song/media/outer/url?id=XXX.mp3"></audio>
```
这里的`.mp3`文件是根据网易云音乐的资源结构推测的,实际可能是其他格式如`.m4a`等。
3. **加载播放**:这段HTML可以直接在浏览器中打开,音频就会自动开始播放。如果需要在JavaScript中控制播放,你可以使用DOM操作或者Audio API。
需要注意的是,这种方法依赖于用户手动点击或者页面已经加载了该资源。如果你需要在后台或者自动化脚本中处理,这可能会有版权和法律限制,并且经常变化,不保证长期有效。
js 获取音频bpm
根据提供的引用内容,我看到你正在使用Vue.js框架,并且在一个组件中引入了一个名为Voice的组件。在这个组件中,你传递了一个id、audio.url和audio.du作为props。根据你的问题,你想要通过JavaScript获取音频的bpm。
然而,根据提供的引用内容,我没有找到任何与获取音频bpm相关的代码。要获取音频的bpm,你需要使用音频处理库或算法来分析音频数据。常见的方法是使用音频特征提取算法,如傅里叶变换或自相关函数。
你可以尝试使用现有的音频处理库,如Tone.js或Web Audio API来获取音频的bpm。这些库提供了一些功能来分析音频数据并提取音频特征,包括bpm。
如果你需要更具体的帮助,请提供更多关于你的音频数据和具体需求的信息,我将尽力提供更详细的解答。
#### 引用[.reference_title]
- *1* [vue中使用wavesurfer.js实现语音播放波形显示](https://blog.csdn.net/AiTingYan/article/details/118178347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文