html录制mp3
wavesurfer.js | audio waveform player JavaScript library
要将weba文件转换为mp3格式,您可以使用HTML5的音频API来实现。以下是一个简单的示例代码: ```html
<!DOCTYPE html>
<html>
<head>
<title>WebA to MP3 Converter</title>
</head>
<body>
<input type="file" id="webaFileInput" accept="audio/webm, audio/webm;codecs=opus">
<button id="convertButton">Convert to MP3</button>
<a id="downloadLink" download="converted.mp3">Download MP3</a> <script>
document.getElementById('convertButton').addEventListener('click', function() {
var webaFileInput = document.getElementById('webaFileInput');
var webaFile = webaFileInput.files[0];
var audio = new Audio();
audio.src = URL.createObjectURL(webaFile);
audio.controls = true;
audio.play(); var context = new AudioContext();
var source = context.createMediaElementSource(audio);
var destination = context.createMediaStreamDestination();
source.connect(destination); var recorder = new MediaRecorder(destination.stream);
var chunks = [];
recorder.ondataavailable = function(e) {
chunks.push(e.data);
};
recorder.onstop = function(e) {
var blob = new Blob(chunks, { 'type' : 'audio/mp3' });
var url = URL.createObjectURL(blob);
var downloadLink = document.getElementById('downloadLink');
downloadLink.href = url;
downloadLink.click();
}; recorder.start();
audio.onended = function() {
recorder.stop();
};
});
</script>
</body>
</html>
``` 在这个示例中,我们首先创建一个input元素,允许用户选择weba文件。然后,我们创建一个按钮,当用户点击按钮时,我们将weba文件转换为mp3格式并提供下载链接。我们使用HTML5的音频API来实现这一转换过程。
一个时尽量只用WaveSurfer。如果不行,就配合上面第一个里的:lame.min.js
大笨熊:
record = wavesurfer.registerPlugin(RecordPlugin.create({ scrollingWaveform, renderRecordedAudio: false,mimeType:'audio/webm' }))
大笨熊:
https://github.com/katspaugh/wavesurfer.js/blob/e9cd82c/src/plugins/record.ts#L7
大笨熊:
const MIME_TYPES = ['audio/webm', 'audio/wav', 'audio/mpeg', 'audio/mp4', 'audio/mp3']
const findSupportedMimeType = () => MIME_TYPES.find((mimeType) => MediaRecorder.isTypeSupported(mimeType))
html录制mp3的更多相关文章
- html5 录制mp3音频,支持采样率和比特率设置
13年的时候做过html5录音,一个问题是保存的wav格式文件很大,当初用了一个迂回的方式,上传到服务器后调用 lame 编码器转换,但由于文件大,上传较慢.不得不说,前端技术发展真是日新月异,有人实 ...
- Android || IOS录制mp3语音文件方法
Android Android Supported Media Formats : http://developer.android.com/guide/appendix/media-formats. ...
- Cocos2d-x项目移植到WP8系列之五:播放MP3
原文链接: http://www.cnblogs.com/zouzf/p/3972549.html 这一块的细节还是不太了解,只是东凑西拼能跑起来而已 1.网上下载lamb库 生成需要的lib库,详情 ...
- Unity3D移植Windows Universal App(Windows 8.1 及Windows Phone 8.1)版本遇到的坑
移植的情况以及遇到的问题: 1.选用的版本是最新的Unity5.0. 2.全屏播放视频Handheld.PlayFullScreenMoview的路径必须是全路径,并且前面要加上"ms-ap ...
- iOS运营级B2B服务平台App、自定义图标库、个人中心页面、识别身份证Demo、瀑布流等源码
iOS精选源码 简单的个人中心页面-自定义导航栏并予以渐变动画 一个近乎完整的可识别中国身份证信息的Demo 可自动快速... iOS可自定义图表库 - PNChart 开源一款曾是运营级的B2B服务 ...
- swift 录制多个音频 并将音频转换为mp3 并合成多个mp3文件为一个文件
我的需求是可以录制多个文件,最后生成的文件格式为mp3形式,查了下各种资料,因为swift无法直接将音频录制为mp3格式,所以最后我采取的解决方案为先将每个单独的文件转为mp3,最后逐一合并形成一个m ...
- iOS 通过(lame)将录制音频转换成Mp3
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处,保留原帖地址及作者署名. Url:http://blog.csdn.net/ysy441088327/article/detail ...
- iOS开发 解决使用AVAudioRecorder录制后转mp3解决音量小的问题
使用AVAudioRecorder录音后使用avplayer播放声音小,录音完后转成mp3格式的音频声音也小!!! 老板要求最基本的是不用把手机放到耳边听! 在StackOverFlow上查了一下,加 ...
- mac上录制无声mp3
想要录制音频很多方法,要无声音频 你可以使用调试软件 那么mac的录制音频,可以用这个软件 将耳机插头插在话筒插孔内,录制出来了m4a文件, 进入转换网站 开始转换下载
- Android上使用MP3格式录制声音
0. 下载LAME 并解压缩 http://lame.sourceforge.net/download.php http://sourceforge.net/projects/lame/files/l ...
随机推荐
- pytorch入门 - 修改huggingface大模型配置参数
介绍 Hugging Face的Transformers库提供了大量预训练模型,但有时我们需要修改这些模型的默认参数来适应特定任务. 本文将详细介绍如何修改BERT模型的最大序列长度(max_posi ...
- SpringBoot集成openGauss
1.pom依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...
- MATLAB 打开报错:错误使用eval,未定义与‘struct‘类型的输入参数相对应的函数‘workspacefunc‘(MAC OS情况下)
MAC OS情况下遇到这个问题比win会麻烦一点点 第一步:在Matlab中打开文件夹 打开文件夹/Volumes/自己的安装位置/MATLAB_R2022b.app/toolbox/local 第二 ...
- AEM 与 ActiveMQ 集成方案详解
Adobe Experience Manager (AEM) 与 ActiveMQ 的集成可实现系统间的解耦和异步通信,以下是详细的集成步骤与代码实现: 一.环境准备 AEM 环境:AEM 6.5+ ...
- 查看Linux配置信息
cat gitlab.rb |grep -v "^[#,;]" |grep -v "^$"
- LingYanAutoUpdateServer:面向 WPF / WinForm / MAUI 自动更新组件开源发布,轻松实现一键升级
LingYanAutoUpdateServer:为 WPF.WinForms.MAUI 等桌面应用打造的轻量级自动更新开源解决方案 你是否正在开发一个 WPF.WinForms 或 .NET MAUI ...
- [Ynoi2016] 炸脖龙 I
题目传送门 已经能过 hack,原因:做快速幂的时候需要微判一下边界.很好奇 lxl 为什么不卡 显然区间加可用线段树做. 然后操作二用扩展欧拉定理,每个 \(p\) 最多递归 \(\log\) 层, ...
- java--集合List、ArrayList、Linkedlist的应用
Collection 迭代器的作用 迭代器的作用:就是用于抓取集合中的元素. 迭代的方法:toArray() .iterator() 迭代器的方法(一共就这3个): hasNext() 问是否有元素可 ...
- android多活动练习--人品计算器
效果图如下: 第二个页面: 显示结果和姓名.性别有关,代码如下: activity_main.xml: 1 <?xml version="1.0" encoding=&quo ...
- Luogu P9671 [ICPC2022 Jinan R] Identical Parity 题解
P9671 [ICPC2022 Jinan R] Identical Parity 构造题.感觉中上位黄. 对于 \(k\) 为偶数的情况,构造奇偶交替的序列.每次区间向后挪动时,最左边出去的元素和最 ...