Аудио и видео пазлы (Audio/Video)

Эти пазлы используются для загрузки и воспроизведения аудио и видеофайлов, а также для синтезации MIDI-звуков.

Содержание

Перечень пазлов

load sound

Загружает аудиофайл по указанному URL. Аудио воспроизводится с помощью тега HTML5 Audio tag или WebAudio API в зависимости от выбранного типа: music или sound/midi соответственно. Этот пазл также добавляет загруженное аудио в кэш памяти, так что при последующем использовании этого пазла с тем же URL-адресом звуковой файл не требует повторной загрузки. Мы рекомендуем использовать формат .mp3, так как он поддерживается большинством веб-браузеров.

preloading audio

Загрузка аудиофайлов занимает некоторое время, поэтому они доступны не сразу. Простое использование этого пазла внутри пазла play может не сработать и звук может не воспроизводиться.

Чтобы быть уверенным в том, что звук в вашем приложении работает правильно, рекомендуется загружать звуковые файлы заранее, например, во вкладке init, которая выполняется перед инициализацией приложения Verge3D. Вы также можете использовать пазл connector, чтобы организовать группу пазлов "load sound" более удобным способом:

Предварительная загрузка аудио во вкладке "init".

После этого использование предварительно загруженных аудиофайлов в main или созданной пользователем вкладке не вызовет никаких проблем. Поскольку звук уже кэшируется после первого использования пазла "load sound", его не нужно загружать снова:

Использование предварительно загруженного аудио на вкладке "main".

autoplay restrictions

В целом, воспроизведение звука, инициированное программно (как в случае с пазлами), скорее всего, будет заблокировано браузером. Это происходит из-за политики автовоспроизведения, которая ограничивает автоматическое воспроизведение аудио на веб-странице. Цель таких ограничений - не дать веб-страницам издавать спонтанные звуки или воспроизводить аудио, когда это нежелательно, тем самым улучшая общий пользовательский опыт.

Хотя такая политика может быть реализована по-разному в различных браузерах, а также может иметь различные условия для разрешения/неразрешения автовоспроизведения, общее правило для воспроизведения аудио - ждать, пока пользователь взаимодействует с вашей веб-страницей.

Ограничения не накладываются, когда такое взаимодействие уже подразумевается логикой приложения, например, воспроизведение звука при нажатии (будь то 3d-объект или HTML-кнопка). Но, допустим, вы хотите, чтобы в вашем приложении была фоновая музыка, которая начинала бы играть при загрузке приложения. Поскольку это не всегда можно сделать автоматически, хорошим решением будет сделать кнопку "Пуск" для запуска приложения, когда оно загружено и готово. Нажатие на нее считается взаимодействием с пользователем и позволяет запустить воспроизведение аудио.

"music", "sound", "midi" audio type

Этот пазл позволяет выбрать, какой API использовать для загрузки и воспроизведения аудиофайлов.

Web Audio API, который используется типами sound и midi, поддерживается в большинстве современных браузеров. Однако, если вам нужно, чтобы аудио работало в браузерах без поддержки Web Audio (например, Internet Explorer 11), вам придется использовать тип music.

Если необходимо использовать тип sound/music в браузерах, где он доступен, и одновременно поддерживать Internet Explorer 11, то рекомендуемое решение - использовать пазл feature available с выбранной опцией Web Audio API, чтобы проверить, доступен API или нет, и в зависимости от этого загрузить аудио с типом music или sound. Вы можете сделать это как для пазла preloading, так и для воспроизведения аудио, как показано ниже:

Предварительная загрузка аудио во вкладке "init" с проверкой наличия Web Audio API. Использование предварительно загруженного аудио на вкладке "main" с проверкой наличия Web Audio API.

load video

Создает HTML5-видео элемент и загружает звуковой файл по указанному URL. Этот пазл также добавляет созданный видеоэлемент в кэш памяти, чтобы при последующем использовании этого пазла с тем же URL не загружать тот же звуковой файл снова. Рекомендуется использовать формат .mp4, поскольку он поддерживается большинством веб-браузеров.

Пазл load video не создает никаких видимых элементов на сцене. Чтобы сделать его видимым, назначьте видеотекстуру материалам с помощью пазла replace texture.

play

Запускает воспроизведение аудио или видео. Флажок loop повторяет воспроизведение, если он включен.

Из-за ограничений браузера (не позволяющих вредоносным веб-сайтам воспроизводить шумные звуки и видео) вы не должны выполнять этот пазл для автоматического воспроизведения ваших ассетов (при загрузке сцены). Вместо этого, вы должны сделать это в каком-либо пользовательском событии. Используйте when clicked или event для обработки таких событий.

Из этого правила есть одно исключение. Браузеры позволяют автоматически воспроизводить видео с выключенным звуком. См. пазл mute .

pause

Приостанавливает воспроизведение аудио или видео.

stop

Останавливает воспроизведение аудио или видео. Использование этого пазла эквивалентно использованию пазла pause, а за ним пазла rewind.

rewind

Заставляет аудио или видео ассет воспроизводиться с самого начала.

set playback time

Установка текущего времени воспроизведения аудио/видео в секундах.

Установка времени воспроизведения не поддерживается для ассетов sound (WebAudio).

get playback time

Получение текущего времени воспроизведения аудио/видео в секундах.

Получение времени воспроизведения не поддерживается для ассетов sound (WebAudio).

set playback rate

Установка скорости воспроизведения аудио/видео. Укажите значение <1 для замедления воспроизведения, 1 для нормальной скорости и >1 для увеличения скорости воспроизведения.

Установка скорости воспроизведения не поддерживается для ассетов midi.

set volume

Устанавливает громкость звука. Входная громкость устанавливается в диапазоне 0,0-1,0. Этот пазл также работает для видео со встроенной звуковой дорожкой.

is playing

Проверяет, воспроизводится ли звук или видео.

mute

Отключает звук или видео.

Помимо управления громкостью звука, вы можете использовать этот пазл для автоматического запуска воспроизведения видео. Это возможно, поскольку веб-браузеры позволяют воспроизводить видео с выключенным звуком без участия пользователя.

unmute

Включение звука или видео.

synth sound

Воспроизведение звука с помощью встроенного General MIDI-совместимого программного синтезатора (на основе библиотеки TinySynth). Поддерживаются различные инструменты и эффекты.

note on
Начать воспроизведение note (ноты) с помощью заданного channel (канала) синтезатора с интенсивностью звука, указанной как velocity (скорость) (0-127). Используйте значение at time для указания времени начала воспроизведения в секундах.
note off
Останавливает воспроизведение заданной note (ноты).
set instrument
Установить инструмент канала из заданного списка.
set volume
Установить громкость канала.
set pan
Установить уровень pan канала.
stop sounds
Остановить все звуки в выбранном канале.

Чтобы воспроизвести ударные, укажите Drums в качестве номера канала и используйте drum number для выбора инструмента.

Пример

note number

Задает номер ноты. Используется для передачи нот в канал 1-9 пазла synth sound.

Номера октав указываются с помощью scientific pitch notation, например, C 4 означает средний тон C.

drum number

Задает номер ударных. Используйте его для передачи нот в канал Drums пазла synth sound.

Проблема с Пазлами?

Обращайтесь за помощью на наш форум!