नकारात्मक मानों का उपयोग वर्तमान में समर्थित नहीं है, इसलिए आपको बफर को मैन्युअल रूप से लोड और रिवर्स करना होगा।
ध्यान दें कि इसके लिए सीओआरएस सक्षम ऑडियो स्रोत की आवश्यकता होगी (उदाहरण में कोई नहीं है, इसलिए मैं लाइव डेमो सेट नहीं कर सका)। यहाँ ऐसा करने का एक तरीका है:
- लोड AJAX के माध्यम से डेटा
- ब्राउज़र एक ऑडियो बफर
- में बफर पार्स करते हैं (इस ऑडियो फाइल के लिए CORS सक्षम की आवश्यकता है) चैनल बफर जाओ (रों) (संदर्भ)
- बफर (रों)
- ऑडियो बफर प्रारंभ और
खेलने निश्चित रूप से हो जाएगा ताकि आप कुछ सीमित कर रिवर्स के रूप में आप नहीं कर सकते अब ऑडियो तत्व का प्रयोग करें। मैन्युअल रूप से उनके लिए नियंत्रण और कोड जोड़कर आपको इच्छित सुविधाओं का समर्थन करना होगा।
// load audio as a raw array buffer:
fetch("http://mathweirdo.com/bingo/audio/buzzer.mp3", process);
// then process the buffer using decoder
function process(file) {
var actx = new (window.AudioContext || window.webkitAudioContext);
actx.decodeAudioData(file, function(buffer) {
var src = actx.createBufferSource(), // enable using loaded data as source
channel, tmp, i, t = 0, len, len2;
// reverse channels
while(t < buffer.numberOfChannels) { // iterate each channel
channel = buffer.getChannelData(t++); // get reference to a channel
len = channel.length - 1; // end of buffer
len2 = len >>> 1; // center of buffer (integer)
for(i = 0; i < len2; i++) { // loop to center
tmp = channel[len - i]; // from end -> tmp
channel[len - i] = channel[i]; // end = from beginning
channel[i] = tmp; // tmp -> beginning
}
}
// play
src.buffer = buffer;
src.connect(actx.destination);
if (!src.start) src.start = src.noteOn;
src.start(0);
},
function() {alert("Could not decode audio!")}
)
}
// ajax loader
function fetch(url, callback) {
var xhr = new XMLHttpRequest();
try {
xhr.open("GET", url);
xhr.responseType = "arraybuffer";
xhr.onerror = function() {alert("Network error")};
xhr.onload = function() {
if (xhr.status === 200) callback(xhr.response);
else alert(xhr.statusText);
};
xhr.send();
} catch (err) {alert(err.message)}
}
लगता है कि यहां विरोधाभासी जानकारी है। [यह पृष्ठ] (https://developer.mozilla.org/en-US/Apps/Build/Audio_and_video_delivery/WebAudio_playbackRate_explained) (नीचे) कहता है कि 'नकारात्मक मान वर्तमान में मीडिया को पीछे नहीं चलाते हैं', हालांकि [ HTMLMediaElement दस्तावेज़] (https://developer.mozilla.org/en/docs/Web/API/HTMLMediaElement) कहता है, 'यदि प्लेबैक रेट नकारात्मक है, तो मीडिया पीछे की ओर खेला जाता है' – CodingIntrigue
तो क्या यह कल्पना अभी तक सबसे अधिक लागू नहीं हुई है ब्राउज़रों? –
ऐसा लगता है कि। यहां एक "वर्कअराउंड" है: http://stackoverflow.com/questions/16045812/jquery-why-the-rewind-playbackrate-doesnt-work – CodingIntrigue