包括 2 个写入和读取 MP3 文件的函数。 它的工作方式类似于命令 WAVWRITE 和 WAVREAD。 1.- 解压到MATLAB目录下的toolbox文件夹即可。 2.- 设置 MATLAB 搜索路径以包含该文件夹。 此版本是在 MATLAB 中为 WINDOWS 制作的。
2022-03-28 11:23:32 465KB matlab
1
MP3音频资源文件 做播放器可用
2022-02-10 14:04:12 92.28MB mp3
1
web 页播放mp3音频文件
2022-01-03 17:46:05 36KB web mp3音频文件
1
Html5网页纯JavaScript录制MP3音频 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Html5网页JavaScript录制MP3音频</title> <meta charset="utf-8" /> </head> <body> Html5网页JavaScript录制MP3音频 录制 停止 上传 调试信息: [removed][removed] [removed] var recorder = new MP3Recorder({ debug:true, funOk: function () { btnStart.disabled = false; log('初始化成功'); }, funCancel: function (msg) { log(msg); recorder = null; } }); var mp3Blob; function funStart(button) { btnStart.disabled = true; btnStop.disabled = false; btnUpload.disabled = true; log('录音开始...'); recorder.start(); } function funStop(button) { recorder.stop(); btnStart.disabled = false; btnStop.disabled = true; btnUpload.disabled = false; log('录音结束,MP3导出中...'); recorder.getMp3Blob(function (blob) { log('MP3导出成功'); mp3Blob = blob; var url = URL.createObjectURL(mp3Blob); var div = document.createElement('div'); var au = document.createElement('audio'); var hf = document.createElement('a'); au.controls = true; au.src = url; hf.href = url; hf.download = new Date().toISOString() + '.mp3'; hf[removed] = hf.download; div.appendChild(au); div.appendChild(hf); recordingslist.appendChild(div); }); } function log(str) { recordingslist[removed] += str + ''; } function funUpload() { var fd = new FormData(); var mp3Name = encodeURIComponent('audio_recording_' + new Date().getTime() + '.mp3'); fd.append('mp3Name', mp3Name); fd.append('file', mp3Blob); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { recordingslist[removed] += '上传成功:' + mp3Name + ''; } }; xhr.open('POST', 'upload.ashx'); xhr.send(fd); } [removed] </body> </html> [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 (function (exports) { var MP3Recorder = function (config) { var recorder = this; config = config || {}; config.sampleRate = config.sampleRate || 44100; config.bitRate = config.bitRate || 128; navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; if (navigator.getUserMedia) { navigator.getUserMedia({ audio: true }, function (stream) { var context = new AudioContext(), microphone = context.createMediaStreamSource(stream), processor = context.createScriptProcessor(16384, 1, 1),//bufferSize大小,输入channel数,输出channel数 mp3ReceiveSuccess, currentErrorCallback; config.sampleRate = context.sampleRate; processor.onaudioprocess = function (event) { //边录音边转换 var array = event.inputBuffer.getChannelData(0); realTimeWorker.postMessage({ cmd: 'encode', buf: array }); }; var realTimeWorker = new Worker('js/worker-realtime.js'); realTimeWorker.onmessage = function (e) { switch (e.data.cmd) { case 'init': log('初始化成功'); if (config.funOk) { config.funOk(); } break; case 'end': log('MP3大小:', e.data.buf.length); if (mp3ReceiveSuccess) { mp3ReceiveSuccess(new Blob(e.data.buf, { type: 'audio/mp3' })); } break; case 'error': log('错误信息:' + e.data.error); if (currentErrorCallback) { currentErrorCallback(e.data.error); } break; default: log('未知信息:', e.data); } }; recorder.getMp3Blob = function (onSuccess, onError) { currentErrorCallback = onError; mp3ReceiveSuccess = onSuccess; realTimeWorker.postMessage({ cmd: 'finish' }); }; recorder.start = function () { if (processor && microphone) { microphone.connect(processor); processor.connect(context.destination); log('开始录音'); } } recorder.stop = function () { if (processor && microphone) { microphone.disconnect(); processor.disconnect(); log('录音结束'); } } realTimeWorker.postMessage({ cmd: 'init', config: { sampleRate: config.sampleRate, bitRate: config.bitRate } }); }, function (error) { var msg; switch (error.code || error.name) { case 'PERMISSION_DENIED': case 'PermissionDeniedError': msg = '用户拒绝访问麦客风'; break; case 'NOT_SUPPORTED_ERROR': case 'NotSupportedError': msg = '浏览器不支持麦客风'; break; case 'MANDATORY_UNSATISFIED_ERROR': case 'MandatoryUnsatisfiedError': msg = '找不到麦客风设备'; break; default: msg = '无法打开麦克风,异常信息:' + (error.code || error.name); break; } if (config.funCancel) { config.funCancel(msg); } }); } else { if (config.funCancel) { config.funCancel('当前浏览器不支持录音功能'); } } function log(str) { if (config.debug) { console.log(str); } } } exports.MP3Recorder = MP3Recorder; })(window);
2021-12-12 20:45:36 59KB 录制MP3音频
1
Android MP3音频播放器,仿唱片机旋转动画,仿网易云播放动画
1
今天小编就为大家分享一篇twilio python自动拨打电话,播放自定义mp3音频的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
2021-11-23 15:36:26 115KB twilio python 拨打电话 mp3音频
1
mp3 音频文件 相似度 比对软件
2021-11-09 22:52:59 76KB mp3 音频文件 相似度 比对软件
1
C++写的超简单的MP3音频播放程序 MP3音频播放程序,估计找不到比这个再简单的程序了,本人刚学C,只能写出这么样的,我感觉对我的菜鸟同行有不小帮助,确实太简单了,不用担心你会看不懂。不涉及VC的知识。
2021-10-20 14:45:49 5KB c++
1
VS1003B MP3音频解码模块特点: 支持MP3和WAV流 音频解码格式:MPEG、WMA、WAV、MIDI和SP-MIDI 录音编码格式:IMA ADPCM(单声道) 输入方式:麦克风和Line input 片内模数转换器(ADC):16位可调 高质量的立体声耳塞驱动:30欧 片内的RAM大小:5.5KB 可控制音量大小 具有内部锁相环时钟倍频器 高质量的立体声数模转换器(DAC),没有通道之间的相位误差 单独的模拟、数字和IO供电电源 低功耗运行 SPI接口,所有控制信号线均引出 1个音频输出接口(Line Out) 1个音频输入接口(Line In) 1个用于录音的麦克风 3.3V单电源供电 实物图片展示: 资料包括: 用户手册 电路原理图 测试程序 相关PDF资料 购买地址: https://www.waveshare.net/shop/VS1003B-MP3-Board.htm
2021-09-22 09:37:18 3.38MB mp3 音频解码 vs1003b 电路方案
1