[редактировать]

Аудио и Видео


Как открыть аудио файл и воспроизвести его?

Используйте специальный класс action\Media:

use action\Media;

Media::open('D:/Music/Soundtrack.mp3');

Есть вариант использовать класс плеера script\MediaPlayerScript, у каждого плеера свой канал воспроизведения в отличии от Media:

use script\MediaPlayerScript;

$player = new MediaPlayerScript();
$player->open('D:/Music/Soundtrack.mp3');
$player->play();

Какие форматы аудио поддерживает DevelNext?

Поддерживаются следующие форматы:

  • mp3 - самый распространенный формат для музыки и треков.
  • wav, wave - подходит для звуков.

А также формат aif (или aiff).


Как управлять воспроизведением аудио?

Описание функций игры, паузы, остановки, изменения громкости и баланаса, изменения позиции.

Для гибкого управления плеером используйте класс script\MediaPlayerScript, вам не обязательно создавать его вручную в коде, вы можете добавить компонент Аудио плеер в ваш модуль, это будет тоже самое, но обращаться к компоненту вы сможете как к обычно:

use script\MediaPlayerScript;

$player = new MediaPlayerScript();
$player->open('music.mp3');

Но лучше создайте в модулю компонент Аудио плеер и используйте его:

$this->player->open('music.mp3');

Далее в статье мы будем использовать $this->player как объект плеера для примеров.

Играть, пауза и стоп

Для этих функций есть методы:

$this->player->play(); // начинает воспроизведение.
$this->player->pause(); // ставит на паузу или убирает с паузы, если плеер был на паузе.
$this->player->stop(); // останавливает воспроизведение и сбрасывает все к нулю.

Громкость

Для изменения громкости есть свойство volume, оно принимает дробные числа от 0 до 1:

$this->player->volume = 0.5; // 50% громкости
$this->player->volume = 0.8; // 80% громкости
$this->player->volume = 0.85; // 85% громкости
$this->player->volume = 0.852; // 85,2% громкости

Чтобы присвоить громкость от компонента Ползунок (slider), выставите ему минимум = 0, а максимум = 100, используйте его значение:

$this->player->volume = $this->slider->value / 100;

Мы делим его значение на 100, чтобы получить дробное значение процента.
В программировании часто для процентов используют значения от 0 до 1, а не от 0 до 100.

Баланс

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

$this->player->balance = -1; // музыка играет слева
$this->player->balance = 1; // музыка играет справа
$this->player->balance = 0.5; // справа музыка играет в 2 раза громче чем слева

Позиция воспроизведения

Для этой возможности есть несколько свойств position и positionMs, position это значение позиции в процентах от 0 до 100, а positionMs - это позиция в миллисекундах:

$this->player->position = 50; // установить на середину трэка.

Вы можете связать Ползунок (slider) с позицией следующим образом (если его минимум = 0, а максимум 100):

$this->player->position = $this->slider->value;