2013-07-08 30 views
5

Bir ses parçası HTML5 Javascript'teki bir videodan ham ses verileri olarak nasıl çıkarılabilir? Yani bir dizi örnek?HTML5'te bir videodan ses nasıl çıkarılabilir?

HTML5 Video API'sine tamamen yeniyim, bu nedenle bir örnek harika olurdu.

+0

Javascript bu tür görevler için uygun olup olmadığını bilmiyorum. Lütfen bu konuya bakınız: http://stackoverflow.com/questions/11182587/extract-audio-from-video-stream-using-javascript –

cevap

7

Web Audio API tam olarak istediğinizdir. Özellikle, MediaElementAudioSourceNode'u bir AnalyserNode içine beslemek istiyorsunuz. Ne yazık ki, Web Ses API'sı yalnızca Chrome'da (biraz FF'de uygulanmaktadır) ve hatta Chrome doesn't have full support for MediaElementAudioSourceNode yet'da gerçekleştirilir.

var context = new webkitAudioContext(); 

// feed video into a MediaElementSourceNode, and feed that into AnalyserNode 
// due to a bug in Chrome, this must run after onload 
var videoElement = document.querySelector('myVideo'); 
var mediaSourceNode = context.createMediaElementSource(videoElement); 
var analyserNode = context.createAnalyser(); 
mediaSourceNode.connect(analyserNode); 
analyserNode.connect(context.destination); 

videoElement.play(); 

// run this part on loop to sample the current audio position 
sample = new Float32Array(analyser.frequencyBinCount); 
analyser.getFloatFrequencyData(sample); 
+0

Çok teşekkürler, bu benim peşinde olduğum şeydi. Umarım daha fazla tarayıcı bunu yakında destekleyecektir. – James

+0

Başka yoldan gidebilir miyiz? Bazı örnekler ve çekimler göz önüne alındığında, bir video oluşturulabilir mi? – James

+0

@James Belki? Ses API'sı, örnekleri arabelleğe almanıza ve bir şekilde bunları yeniden oynamanıza izin verebilir, ancak emin değilim. Her durumda, gerçek bir video * dosyası * yapamazsınız, ancak ses çalma ile sessiz bir videoyu senkronize edebilirsiniz. – apsillers

İlgili konular