MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

MediaElementAudioSourceNode

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Интерфейс MediaElementAudioSourceNode представляет собой аудио узел AudioNode, созданный из HTML5 <audio> или <video> элемента. Он является источником звука.

MediaElementSourceNode не имеет входов, а только один выход, и может быть создан методом AudioContext.createMediaElementSource. Количество каналов в выходном сигнале равно числу каналов аудио, на которое ссылается HTMLMediaElement используемый для создания узла, или 1, если HTMLMediaElement не имеет аудио.

Количество входов 0
Количество выходов 1
Количество каналов зависит от содержимого медиа элемента HTMLMediaElement, переданному методу AudioContext.createMediaElementSource при создании узла.

Свойства

Наследует свойства родителя, AudioNode.

Методы

Наследует методы родителя, AudioNode.

Пример

This simple example creates a source from an <audio> element using createMediaElementSource(), then passes the audio through a GainNode before feeding it into the AudioDestinationNode for playback. When the mouse pointer is moved, the updatePage() function is invoked, which calculates the current gain as a ratio of mouse Y position divided by overall window height. You can therefore increase and decrease the volume of the playing music by moving the mouse pointer up and down.

var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var myAudio = document.querySelector('audio');
var pre = document.querySelector('pre');
var myScript = document.querySelector('script');

pre.innerHTML = myScript.innerHTML;

// Create a MediaElementAudioSourceNode
// Feed the HTMLMediaElement into it
var source = audioCtx.createMediaElementSource(myAudio);

// Create a gain node
var gainNode = audioCtx.createGain();

// Create variables to store mouse pointer Y coordinate
// and HEIGHT of screen
var CurY;
var HEIGHT = window.innerHeight;

// Get new mouse pointer coordinates when mouse is moved
// then set new gain value

document.onmousemove = updatePage;

function updatePage(e) {
    CurY = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);

    gainNode.gain.value = CurY/HEIGHT;
}


// connect the AudioBufferSourceNode to the gainNode
// and the gainNode to the destination, so we can play the
// music and adjust the volume using the mouse cursor
source.connect(gainNode);
gainNode.connect(audioCtx.destination);

Note: As a consequence of calling createMediaElementSource(), audio playback from the HTMLMediaElement will be re-routed into the processing graph of the AudioContext. So playing/pausing the media can still be done through the media element API and the player controls.

Спецификация

Спецификация Статус Комментарий
Web Audio API
Определение 'MediaElementAudioSourceNode' в этой спецификации.
Рабочий черновик  

Поддержка в браузерах

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая поддержка 14 webkit 25 (25) Нет 15 webkit
22 (unprefixed)
6 webkit
Возможность Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Базовая поддержка Нет 28 webkit 25.0 (25) 1.2 Нет Нет webkit

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: Agreggor
 Обновлялась последний раз: Agreggor,