VideoStreamPlayer
Элемент UI для воспроизведения видео и его звука.
Назначьте ресурс VideoStream, добавьте VideoStreamPlayer в дерево и вызовите Play либо заранее включите Autoplay. Формат файла и точность перемотки определяются реализацией потока. Встроенный VideoStreamTheora загружает Ogg Theora .ogv; расширение произвольного файла не добавляет поддержку его кодека.
Для паузы используйте Paused, для остановки Stop. Expand растягивает кадр к размеру Control без отдельного режима сохранения пропорций: задайте подходящее соотношение сторон компоновкой. Finished означает естественное завершение без Loop, а не ручной Stop.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
VideoStreamPlayerКонструктор
public VideoStreamPlayer();Создаёт видеоплеер UI. Для Play он должен находиться в дереве и иметь действительный Stream с декодером.
Свойства12
AudioTrackСвойство
public int AudioTrack { get; set; }Индекс звуковой дорожки, обычно от 0. Передаётся и общему Stream, и текущему playback; поддержка смены зависит от декодера. Не создаёт новую дорожку и не выбирает аудиошину.
AutoplayСвойство
public bool Autoplay { get; set; }Запуск при входе в дерево, если Stream уже назначен и это не редактор. Включение свойства после входа само не вызывает Play; позднее назначение Stream также не является повторным входом.
BufferingMsecСвойство
public int BufferingMsec { get; set; }Размер звуковой буферизации в миллисекундах для настройки playback. Setter сохраняет значение, но не перестраивает уже созданный буфер: задайте до Stream или переназначьте поток. Это не длительность ролика и не сетевой видеобуфер.
BusСвойство
public StringName Bus { get; set; }Имя существующей аудиошины. Getter возвращает Master, если указанная шина не найдена. Назначение не создаёт шину и не выбирает дорожку видео.
ExpandСвойство
public bool Expand { get; set; }true растягивает кадр на текущий Size и снимает минимальный размер по разрешению видео. false рисует в естественном размере кадра. Пропорции при растяжении автоматически не сохраняются.
LoopСвойство
public bool Loop { get; set; }При естественном завершении снова вызывает Play вместо Finished. Повторный запуск обеспечивает реализация playback. Не превращает ручной Stop в событие завершения.
PausedСвойство
public bool Paused { get; set; }Пользовательская пауза; false возобновляет обработку, если дерево разрешает её. Не равна IsPlaying. Пауза/приостановка дерева также может временно остановить декодер без изменения этого пользовательского флага.
SpeedScaleСвойство
public float SpeedScale { get; set; }Неотрицательный множитель продвижения видео и звука; 1 — обычная скорость, отрицательное значение не допускается. Ноль не устанавливает Paused; для явного состояния паузы используйте Paused. Учитывается вместе с масштабом времени движка.
StreamСвойство
public VideoStream Stream { get; set; }Ресурс видео. Назначение останавливает прежний поток, создаёт новый playback, обновляет текстуру и звуковой буфер. null снимает поток. Один и тот же ресурс может использоваться несколькими плеерами с отдельными playback; сам ресурс остаётся общим.
StreamPositionСвойство
public double StreamPosition { get; set; }Позиция в секундах. Setter очищает накопленное аудио и передаёт seek декодеру; сам не проверяет диапазон и не гарантирует точный кадр. Для известной длины используйте 0 <= position < length; Theora игнорирует позицию >= длины. Без playback getter возвращает 0.
VolumeСвойство
public float Volume { get; set; }Линейный множитель звука: 0 — тишина, 1 — исходный уровень, значения > 1 усиливают. Используйте неотрицательное значение. Не влияет на яркость кадра и не заменяет общий уровень шины.
VolumeDbСвойство
public float VolumeDb { get; set; }Тот же уровень звука в децибелах: 0 dB соответствует Volume = 1. Значение ниже -79 dB устанавливает тишину; getter для тишины возвращает -80. Не независимая вторая регулировка.
Методы30
GetAudioTrackint
public int GetAudioTrack();Индекс звуковой дорожки, обычно от 0. Передаётся и общему Stream, и текущему playback; поддержка смены зависит от декодера. Не создаёт новую дорожку и не выбирает аудиошину.
intИндекс звуковой дорожки, обычно от 0. Передаётся и общему Stream, и текущему playback; поддержка смены зависит от декодера. Не создаёт новую дорожку и не выбирает аудиошину.
GetBufferingMsecint
public int GetBufferingMsec();Размер звуковой буферизации в миллисекундах для настройки playback. Setter сохраняет значение, но не перестраивает уже созданный буфер: задайте до Stream или переназначьте поток. Это не длительность ролика и не сетевой видеобуфер.
intРазмер звуковой буферизации в миллисекундах для настройки playback. Setter сохраняет значение, но не перестраивает уже созданный буфер: задайте до Stream или переназначьте поток. Это не длительность ролика и не сетевой видеобуфер.
GetBusStringName
public StringName GetBus();Имя существующей аудиошины. Getter возвращает Master, если указанная шина не найдена. Назначение не создаёт шину и не выбирает дорожку видео.
StringNameИмя существующей аудиошины. Getter возвращает Master, если указанная шина не найдена. Назначение не создаёт шину и не выбирает дорожку видео.
GetSpeedScalefloat
public float GetSpeedScale();Неотрицательный множитель продвижения видео и звука; 1 — обычная скорость, отрицательное значение не допускается. Ноль не устанавливает Paused; для явного состояния паузы используйте Paused. Учитывается вместе с масштабом времени движка.
floatНеотрицательный множитель продвижения видео и звука; 1 — обычная скорость, отрицательное значение не допускается. Ноль не устанавливает Paused; для явного состояния паузы используйте Paused. Учитывается вместе с масштабом времени движка.
GetStreamVideoStream
public VideoStream GetStream();Ресурс видео. Назначение останавливает прежний поток, создаёт новый playback, обновляет текстуру и звуковой буфер. null снимает поток. Один и тот же ресурс может использоваться несколькими плеерами с отдельными playback; сам ресурс остаётся общим.
VideoStreamРесурс видео. Назначение останавливает прежний поток, создаёт новый playback, обновляет текстуру и звуковой буфер. null снимает поток. Один и тот же ресурс может использоваться несколькими плеерами с отдельными playback; сам ресурс остаётся общим.
GetStreamLengthdouble
public double GetStreamLength();Длина в секундах от текущего декодера, 0 без playback или при отсутствии информации в реализации. Не используйте 0 как доказательство, что файл пуст.
doubleДлина в секундах от текущего декодера, 0 без playback или при отсутствии информации в реализации. Не используйте 0 как доказательство, что файл пуст.
GetStreamNamestring
public string GetStreamName();Имя ресурса Stream, не гарантированно имя файла. Без Stream возвращает служебную строку <No Stream>. Для пути используйте свойство File ресурса.
stringИмя ресурса Stream, не гарантированно имя файла. Без Stream возвращает служебную строку <No Stream>. Для пути используйте свойство File ресурса.
GetStreamPositiondouble
public double GetStreamPosition();Позиция в секундах. Setter очищает накопленное аудио и передаёт seek декодеру; сам не проверяет диапазон и не гарантирует точный кадр. Для известной длины используйте 0 <= position < length; Theora игнорирует позицию >= длины. Без playback getter возвращает 0.
doubleПозиция в секундах. Setter очищает накопленное аудио и передаёт seek декодеру; сам не проверяет диапазон и не гарантирует точный кадр. Для известной длины используйте 0 <= position < length; Theora игнорирует позицию >= длины. Без playback getter возвращает 0.
GetVideoTextureTexture2D
public Texture2D GetVideoTexture();Возвращает общую текущую текстуру декодера либо null без playback. Она может обновляться при декодировании: это не снимок кадра. Не освобождайте её как принадлежащий вам серверный ресурс.
Texture2DВозвращает общую текущую текстуру декодера либо null без playback. Она может обновляться при декодировании: это не снимок кадра. Не освобождайте её как принадлежащий вам серверный ресурс.
GetVolumefloat
public float GetVolume();Линейный множитель звука: 0 — тишина, 1 — исходный уровень, значения > 1 усиливают. Используйте неотрицательное значение. Не влияет на яркость кадра и не заменяет общий уровень шины.
floatЛинейный множитель звука: 0 — тишина, 1 — исходный уровень, значения > 1 усиливают. Используйте неотрицательное значение. Не влияет на яркость кадра и не заменяет общий уровень шины.
GetVolumeDbfloat
public float GetVolumeDb();Тот же уровень звука в децибелах: 0 dB соответствует Volume = 1. Значение ниже -79 dB устанавливает тишину; getter для тишины возвращает -80. Не независимая вторая регулировка.
floatТот же уровень звука в децибелах: 0 dB соответствует Volume = 1. Значение ниже -79 dB устанавливает тишину; getter для тишины возвращает -80. Не независимая вторая регулировка.
HasAutoplaybool
public bool HasAutoplay();Запуск при входе в дерево, если Stream уже назначен и это не редактор. Включение свойства после входа само не вызывает Play; позднее назначение Stream также не является повторным входом.
boolЗапуск при входе в дерево, если Stream уже назначен и это не редактор. Включение свойства после входа само не вызывает Play; позднее назначение Stream также не является повторным входом.
HasExpandbool
public bool HasExpand();true растягивает кадр на текущий Size и снимает минимальный размер по разрешению видео. false рисует в естественном размере кадра. Пропорции при растяжении автоматически не сохраняются.
booltrue растягивает кадр на текущий Size и снимает минимальный размер по разрешению видео. false рисует в естественном размере кадра. Пропорции при растяжении автоматически не сохраняются.
HasLoopbool
public bool HasLoop();При естественном завершении снова вызывает Play вместо Finished. Повторный запуск обеспечивает реализация playback. Не превращает ручной Stop в событие завершения.
boolПри естественном завершении снова вызывает Play вместо Finished. Повторный запуск обеспечивает реализация playback. Не превращает ручной Stop в событие завершения.
IsPausedbool
public bool IsPaused();Пользовательская пауза; false возобновляет обработку, если дерево разрешает её. Не равна IsPlaying. Пауза/приостановка дерева также может временно остановить декодер без изменения этого пользовательского флага.
boolПользовательская пауза; false возобновляет обработку, если дерево разрешает её. Не равна IsPlaying. Пауза/приостановка дерева также может временно остановить декодер без изменения этого пользовательского флага.
IsPlayingbool
public bool IsPlaying();Возвращает состояние playback или false без него. Это не проверка слышимости звука или появления нового кадра; при Paused декодер может оставаться в состоянии playing.
boolВозвращает состояние playback или false без него. Это не проверка слышимости звука или появления нового кадра; при Paused декодер может оставаться в состоянии playing.
Playvoid
public void Play();Вызывает запуск текущего декодера; нужен элемент в дереве и подготовленный Stream. Повторный Play не гарантирует перезапуск с начала у каждой реализации. Для возобновления паузы используйте Paused = false.
SetAudioTrackvoid
public void SetAudioTrack(int track);Индекс звуковой дорожки, обычно от 0. Передаётся и общему Stream, и текущему playback; поддержка смены зависит от декодера. Не создаёт новую дорожку и не выбирает аудиошину.
| Имя | Тип | По умолчанию |
|---|---|---|
track | int | — |
trackИндекс звуковой дорожки согласно формату, обычно от 0.
SetAutoplayvoid
public void SetAutoplay(bool enabled);Запуск при входе в дерево, если Stream уже назначен и это не редактор. Включение свойства после входа само не вызывает Play; позднее назначение Stream также не является повторным входом.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledЗапускать при входе в дерево при уже назначенном Stream.
SetBufferingMsecvoid
public void SetBufferingMsec(int msec);Размер звуковой буферизации в миллисекундах для настройки playback. Setter сохраняет значение, но не перестраивает уже созданный буфер: задайте до Stream или переназначьте поток. Это не длительность ролика и не сетевой видеобуфер.
| Имя | Тип | По умолчанию |
|---|---|---|
msec | int | — |
msecНеотрицательная длительность аудиобуфера в миллисекундах.
SetBusvoid
public void SetBus(StringName bus);Имя существующей аудиошины. Getter возвращает Master, если указанная шина не найдена. Назначение не создаёт шину и не выбирает дорожку видео.
| Имя | Тип | По умолчанию |
|---|---|---|
bus | StringName | — |
busИмя существующей аудиошины.
SetExpandvoid
public void SetExpand(bool enable);true растягивает кадр на текущий Size и снимает минимальный размер по разрешению видео. false рисует в естественном размере кадра. Пропорции при растяжении автоматически не сохраняются.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableРастягивать кадр к размеру Control.
SetLoopvoid
public void SetLoop(bool loop);При естественном завершении снова вызывает Play вместо Finished. Повторный запуск обеспечивает реализация playback. Не превращает ручной Stop в событие завершения.
| Имя | Тип | По умолчанию |
|---|---|---|
loop | bool | — |
loopПовторять естественно завершившееся воспроизведение.
SetPausedvoid
public void SetPaused(bool paused);Пользовательская пауза; false возобновляет обработку, если дерево разрешает её. Не равна IsPlaying. Пауза/приостановка дерева также может временно остановить декодер без изменения этого пользовательского флага.
| Имя | Тип | По умолчанию |
|---|---|---|
paused | bool | — |
pausedПриостановить продвижение без завершения потока.
SetSpeedScalevoid
public void SetSpeedScale(float speedScale);Неотрицательный множитель продвижения видео и звука; 1 — обычная скорость, отрицательное значение не допускается. Ноль не устанавливает Paused; для явного состояния паузы используйте Paused. Учитывается вместе с масштабом времени движка.
| Имя | Тип | По умолчанию |
|---|---|---|
speedScale | float | — |
speedScaleНеотрицательный множитель скорости, 1 — обычная.
SetStreamvoid
public void SetStream(VideoStream stream);Ресурс видео. Назначение останавливает прежний поток, создаёт новый playback, обновляет текстуру и звуковой буфер. null снимает поток. Один и тот же ресурс может использоваться несколькими плеерами с отдельными playback; сам ресурс остаётся общим.
| Имя | Тип | По умолчанию |
|---|---|---|
stream | VideoStream | — |
streamДействительный ресурс VideoStream с декодером или null для снятия.
SetStreamPositionvoid
public void SetStreamPosition(double position);Позиция в секундах. Setter очищает накопленное аудио и передаёт seek декодеру; сам не проверяет диапазон и не гарантирует точный кадр. Для известной длины используйте 0 <= position < length; Theora игнорирует позицию >= длины. Без playback getter возвращает 0.
| Имя | Тип | По умолчанию |
|---|---|---|
position | double | — |
positionЖелаемая позиция в секундах; допустимость определяет декодер.
SetVolumevoid
public void SetVolume(float volume);Линейный множитель звука: 0 — тишина, 1 — исходный уровень, значения > 1 усиливают. Используйте неотрицательное значение. Не влияет на яркость кадра и не заменяет общий уровень шины.
| Имя | Тип | По умолчанию |
|---|---|---|
volume | float | — |
volumeНеотрицательный линейный множитель звука.
SetVolumeDbvoid
public void SetVolumeDb(float db);Тот же уровень звука в децибелах: 0 dB соответствует Volume = 1. Значение ниже -79 dB устанавливает тишину; getter для тишины возвращает -80. Не независимая вторая регулировка.
| Имя | Тип | По умолчанию |
|---|---|---|
db | float | — |
dbУровень в dB; ниже -79 устанавливает тишину.
Stopvoid
public void Stop();Останавливает playback и очищает накопленный звуковой буфер. Не испускает Finished; сброс позиции зависит от декодера, у Theora выполняется переход к началу. Вне дерева ничего не делает.
Сигналы и события1
FinishedСобытие
public event Action Finished;Естественное завершение текущего playback при выключенном Loop. Не испускается ручным Stop и не означает удаление плеера или ресурса.