2013-07-08 35 views
5

Làm cách nào để một đoạn âm thanh được trích xuất từ ​​video trong Javascript HTML5 làm dữ liệu âm thanh thô? I E. một mảng mẫu?Cách âm thanh có thể được trích xuất từ ​​video trong HTML5?

Tôi hoàn toàn mới đối với API video HTML5 để một ví dụ sẽ tuyệt vời.

+0

Tôi không biết liệu Javascript có phù hợp với các tác vụ như vậy hay không. Vui lòng tham khảo chủ đề này: http://stackoverflow.com/questions/11182587/extract-audio-from-video-stream-using-javascript –

Trả lời

7

Web Audio API chính xác là những gì bạn muốn. Cụ thể, bạn muốn cấp một MediaElementAudioSourceNode vào một số AnalyserNode. Rất tiếc, API âm thanh trên web chỉ được triển khai trong Chrome (phần nào được triển khai trong FF) và thậm chí là Chrome doesn't have full support for MediaElementAudioSourceNode yet.

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

Cảm ơn rất nhiều, đây chỉ là những gì tôi theo sau. Hy vọng rằng nhiều trình duyệt hơn sẽ sớm hỗ trợ điều này. – James

+0

Chúng ta có thể đi theo cách khác không? Với một số mẫu và cảnh quay, video có thể được tạo không? – James

+0

@James Có thể? API âm thanh có thể cho phép bạn lấy mẫu đệm và phát lại chúng bằng cách nào đó, nhưng tôi không chắc chắn. Trong mọi trường hợp, bạn không thể tạo tệp * video thực tế * nhưng bạn có thể đồng bộ hóa video bị tắt tiếng với phát lại âm thanh. – apsillers

Các vấn đề liên quan