Tag: html5 audio

HTML5跟踪元素提示事件Buggy?

我正在尝试dynamic地将函数分配给HTML5的cue.onenter事件。 这是一项非常新的function,目前只有在启用了特定标志的Chrome中才支持(请参阅HTML5 Rocks示例)。 不过,要么是由于早期的发展,是错误的,或者我做错了什么。 基本上,我有一个正常的HTML页面上的轨道元素。 没什么奇怪的 <audio id="audiocast" controls oncanplay="setReadyToPlay();"> <source id="audiosource" src="SomeWorkingUrlwithaudio" ></source> <track kind="metadata" id="audioTrack" label="slides" src="/data.vtt" default > </track> Your Browser does not support HTML5 </audio> 我通过JavaScript访问它,如下所示: //(…) var trackElements = $("#audiocast")[0].children("track")[0]; _track = trackElements.track; _cues = _track.cues; for (var j = 0; j < _cues.length; ++j) { var cue = _cues[j]; […]

Node.JSaudio混合+ MP3生成可能吗?

总之,我有一个网站,在客户端用户有一个“打击制造商”的应用程序。 用户可以打开/closures噪音,背景节拍等,基本上根据我在客户端的预定义的噪音,音调和曲调来创build他们自己的定制“歌曲”。 我需要以某种方式将他们正在制作的节拍(在HTML5canvas中)转换到我的服务器端(目前为Node.JS),并且将其创build的MP3吐出。 基本上我必须以某种方式让我的服务器端后端优雅连接+重叠+混合各种较小的MP3 / WAV文件成一个MP3文件,匹配在客户端创build的节拍。 然后我必须将该MP3返回到客户端进行下载。 任何人都能指出我正确的方向? 就我的研究表明,由于手头问题的复杂性,这是不容易完成的或者根本不可能实现的(IE在项目的实际预算/时间限制内)。

Node.js和HTML5audio

我试图让我的node.js服务器为HTML5audio标签的audio文件服务器。 目前,我通过一个明确的静态提供程序引用audio文件,但是这将允许声音播放一次,然后永远不会再播放。 从我已经能够收集为了使声音正常工作寻找或循环,我需要提供“Content-Range”标题,当我的audio文件被请求。 我高度怀疑expression式的staticProvider是为我做的,所以看起来我需要使用自定义代码来提供文件。 不幸的是,我对node.js相当陌生,像服务文件这样的东西还是有点超出我的意思。 任何人都可以提供一些build议,我怎样才能为我的audio文件提供适当的元数据? [编辑](删除旧的服务器代码,因为它不会有任何好处!) 对不起,我通常不会提出这样广泛的问题,但我真的不知道从哪里开始。 有什么build议么? [解] 所以看来,解决scheme只是使用更新的软件。 我试图expression,而不是内置的连接HTTP中间件,因为我认为连接没有做静态文件服务的权利。 原来,我只是在查看一个更新版本的连接的文档,而节点附带的版本有点旧了。 一旦我更新了我的连接库(我只是用npm来安装最新的,对于那些好奇的),下面的工作非常漂亮: var connect = require('connect'); var server = connect.createServer( // If your server errors on this line, saying it doesn't know what // "static" is you need to get the latest connect! connect.static(__dirname + '/public') ); server.listen(PORT);

使用FFMPEG实时stream式传输到networkingaudioAPI

我正在尝试使用node.js + ffmpeg将audiostream式传输到仅使用WebaudioAPI连接的浏览器。 不使用元素,因为它添加了自己的缓冲区8到10秒,我想获得最大的高延迟(最大大约1到2秒)。 audio播放成功,但audio非常波涛汹涌。 这里是我的node.js(服务器端)文件: var ws = require('websocket.io'), server = ws.listen(3000); var child_process = require("child_process"); var i = 0; server.on('connection', function (socket) { console.log('New client connected'); var ffmpeg = child_process.spawn("ffmpeg",[ "-re","-i", "A.mp3","-f", "f32le", "pipe:1" // Output to STDOUT ]); ffmpeg.stdout.on('data', function(data) { var buff = new Buffer(data); socket.send(buff.toString('base64')); }); }); 这里是我的HTML: var audioBuffer […]

在Heroku上使用NodeJS进行HTML5audio转换

我有一个HTML5应用程序,允许用户上传和播放他们的audio文件。 服务器是在Heroku上运行的Node。 为了允许跨浏览器的audio播放,我所理解的是,我必须至less保持每个audio文件的两种格式,比如.mp3和.ogg。 所以,我需要在服务器端自动转码文件。 问题是Heroku不运行ffmpeg。 我发现这个项目创build了一个支持ffmpeg的heroku自定义buildpack,但似乎是Rails应用程序: https : //github.com/dzello/ffmpeg-heroku 。 我正在考虑运行外部服务器进行转码,我的nodejs应用程序将文件发送到该服务器,进行转码,然后重新上传我的nodejs服务器上的新文件。 但是我不知道如何build立这样一个服务器,是否已经有了一个可以做这种工作的现成解决scheme呢? 所以,这是我的问题: 1- Is there a solution to run ffmpeg on heroku+nodejs? 2- How can I set up a transcoding server that communicates with my nodejs+heroku server? 谢谢!

从audio元素获取audio样本

我想要使​​用networking浏览器从麦克风获取实时audio,并通过websockets将其发送到Node.js服务器。 我使用BinaryJS库发送二进制数据到服务器。 我在从麦克风获取audio样本时遇到问题。 这是我有什么: window.AudioContext = window.AudioContext || window.webkitAudioContext; var context = new AudioContext(); var audio = document.querySelector('audio'); navigator.webkitGetUserMedia({audio: true}, function(micstream){ audio.src = window.URL.createObjectURL(micstream); }, errorCallback); }); var errorCallback = function(e){ console.log("Rejected!", e); }; 我想要一些方法来获取每10ms左右的audio采样,以便我可以将它写入websocketstream。 我正在寻找这样的东西: function getSample(){ //read the current data in byte buffer. setTimeout(getSample, 10); } 有人能告诉我如何做到这一点? 还是有另一种方法来做到这一点? 谢谢!