VideoPlayer
Описание
Проигрывание видеоконтента на конечном объекте.
Содержимое может быть либо VideoClip импортированным ассетом, либо URL, таким как file:// или http://. Видеоконтент будет проецироваться на один из поддерживаемых объектов, таких как фон камеры или RenderTexture. Если видеоконтент содержит прозрачность, эта прозрачность будет присутствовать в объекте, позволяя видеть объекты за видеоцелевым объектом. Когда данные VideoPlayer.source установлены на URL, аудио- и видеоописания воспроизводимого будут инициализированы только после завершения подготовки VideoPlayer. Вы можете проверить это с помощью VideoPlayer.isPrepared.
См. Совместимость видеофайлов для получения дополнительной информации о поддерживаемых форматах видеофайлов.
Ниже приведены некоторые особенности VideoPlayer:
// Examples of VideoPlayer function
using UnityEngine; using UnityEngine.Video;
public class Example : MonoBehaviour { void Start() { // Will attach a VideoPlayer to the main camera. GameObject camera = GameObject.Find("Main Camera");
// VideoPlayer automatically targets the camera backplane when it is added // to a camera object, no need to change videoPlayer.targetCamera. var videoPlayer = camera.AddComponent<UnityEngine.Video.VideoPlayer>();
// Play on awake defaults to true. Set it to false to avoid the url set // below to auto-start playback since we're in Start(). videoPlayer.playOnAwake = false;
// By default, VideoPlayers added to a camera will use the far plane. // Let's target the near plane instead. videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.CameraNearPlane;
// This will cause our Scene to be visible through the video being played. videoPlayer.targetCameraAlpha = 0.5F;
// Set the video to play. URL supports local absolute or relative paths. // Here, using absolute. videoPlayer.url = "/Users/graham/movie.mov";
// Skip the first 100 frames. videoPlayer.frame = 100;
// Restart from beginning when done. videoPlayer.isLooping = true;
// Each time we reach the end, we slow down the playback by a factor of 10. videoPlayer.loopPointReached += EndReached;
// Start playback. This means the VideoPlayer may have to prepare (reserve // resources, pre-load a few frames, etc.). To better control the delays // associated with this preparation one can use videoPlayer.Prepare() along with // its prepareCompleted event. videoPlayer.Play(); }
void EndReached(UnityEngine.Video.VideoPlayer vp) { vp.playbackSpeed = vp.playbackSpeed / 10.0F; } }
Статические свойства
| Свойство | Описание |
|---|---|
| controlledAudioTrackMaxCount | Максимальное число аудиотреков, которые могут быть управляемыми. (только для чтения) |
Свойства
| Свойство | Описание |
|---|---|
| aspectRatio | Определяет, как содержимое видео будет растянуто, чтобы заполнить целевую область. |
| audioOutputMode | Место назначения для аудио, встроенного в видео. |
| audioTrackCount | Число аудиотреков, найденных в текущем настроенном источнике данных. (только для чтения) |
| canSetDirectAudioVolume | Поддерживаются ли регуляторы громкости прямого выхода для текущей платформы и формата видео. (только для чтения) |
| canSetPlaybackSpeed | Можно ли изменить скорость воспроизведения. (только для чтения) |
| canSetSkipOnDrop | Можно ли управлять пропусками кадров для поддержания синхронизации. (только для чтения) |
| canSetTime | Можно ли изменить текущее время с помощью свойств VideoPlayer.time или VideoPlayer.frame. (Только для чтения) |
| canSetTimeUpdateMode | Можно ли изменить источник времени, за которым следует VideoPlayer. (только для чтения) |
| canStep | Возвращает true, если VideoPlayer может продвигаться вперед по видеоконтенту. (только для чтения) |
| clip | Клип воспроизводится VideoPlayer. |
| clockTime | Время, которое VideoPlayer использует для расписания своих проб. Время выражено в секундах. (Только для чтения) |
| controlledAudioTrackCount | Число аудио треков, которые будет контролировать этот VideoPlayer. |
| externalReferenceTime | Референтное время внешних часов, используемых VideoPlayer для коррекции своего дрейфа. |
| frame | Индекс кадра текущего доступного кадра в VideoPlayer.texture. |
| frameCount | Количество кадров в текущем видеоконтенте. (только для чтения) |
| frameRate | Частота кадров клипа или URL в кадрах в секунду. (только для чтения) |
| height | Высота изображений в VideoClip или URL в пикселях. (только для чтения) |
| isLooping | Определяет, перезапускается ли VideoPlayer с начала, когда он достигает конца клипа. |
| isPaused | Приостановлено ли воспроизведение. (только для чтения) |
| isPlaying | Возвращает информацию о том, воспроизводит ли VideoPlayer содержимое в данный момент. |
| isPrepared | Возвращает, успешно ли VideoPlayer подготовил контент для воспроизведения. |
| length | Длина VideoClip или URL в секундах. (только для чтения) |
| pixelAspectRatioDenominator | Знаменатель соотношения сторон пикселей (num:den) для VideoClip или URL. (только для чтения) |
| pixelAspectRatioNumerator | Чиситель соотношения сторон пикселей (num:den) для VideoClip или URL. (только для чтения) |
| playbackSpeed | Коэффициент, на который будет умножена базовая скорость воспроизведения. |
| playOnAwake | Начинается ли воспроизведение содержимого сразу же после пробуждения компонента. |
| renderMode | Где будет рисоваться видеоконтент. |
| sendFrameReadyEvents | Включает события frameReady. |
| skipOnDrop | Разрешено ли VideoPlayer пропускать кадры, чтобы догнать текущее время. |
| source | Источник, который VideoPlayer использует для воспроизведения. |
| targetCamera | Компонент Camera для рисования, когда VideoPlayer.renderMode установлен на VideoRenderMode.CameraFarPlane или VideoRenderMode.CameraNearPlane. |
| targetCamera3DLayout | Тип контента 3D, содержащегося в исходном видеоматериале. |
| targetCameraAlpha | Общий уровень прозрачности видео в целевой камере. |
| targetMaterialProperty | Свойство текстуры материала, которое используется, когда VideoPlayer.renderMode установлено на Video.VideoTarget.MaterialOverride. |
| targetMaterialRenderer | Рендерер, который используется, когда VideoPlayer.renderMode установлен на Video.VideoTarget.MaterialOverride |
| targetTexture | RenderTexture для рисования, когда VideoPlayer.renderMode установлен на VideoRenderMode.RenderTexture. |
| texture | Внутренняя текстура, в которую помещается видеоконтент. (только для чтения) |
| time | Время представления текущего доступного кадра в VideoPlayer.texture в секундах. |
| timeReference | Часы, которые VideoPlayer наблюдает для обнаружения и корректировки дрейфа. |
| timeUpdateMode | Источник часов, используемый VideoPlayer для получения текущего времени. |
| url | Файл URL или веб URL, из которого VideoPlayer читает содержимое. |
| waitForFirstFrame | Определяет, будет ли VideoPlayer ждать, пока первый кадр будет загружен в текстуру, прежде чем начать воспроизведение, когда VideoPlayer.playOnAwake включен. |
| width | Ширина изображений в VideoClip или URL в пикселях. (только для чтения) |
Открытые методы
| Метод | Описание |
|---|---|
| EnableAudioTrack | Включить/выключить декодирование аудиотрека. Действует только когда VideoPlayer не играет в данный момент. |
| GetAudioChannelCount | Количество аудиоканалов в указанной аудиодорожке. |
| GetAudioLanguageCode | Возвращает код языка, если таковой имеется, для указанной дорожки. |
| GetAudioSampleRate | Получает частоту дискретизации аудиотрека в Герцах. |
| GetDirectAudioMute | Получить состояние выключения звука прямого выхода для указанной дорожки. |
| GetDirectAudioVolume | Возвращает громкость прямого выхода для указанной дорожки. |
| GetTargetAudioSource | Получает AudioSource, который будет получать аудиосемплы для указанной дорожки, если VideoPlayer.audioOutputMode установлен на VideoAudioOutputMode.AudioSource. |
| IsAudioTrackEnabled | Включено ли декодирование для указанной аудиодорожки. См. VideoPlayer.EnableAudioTrack для отличия от mute. |
| Pause | Приостанавливает воспроизведение и оставляет текущее время неизменным. |
| Play | Запускает или возобновляет воспроизведение видео. |
| Prepare | Подготавливает движок воспроизведения, чтобы он был готов к воспроизведению. |
| SetDirectAudioMute | Устанавливает состояние заглушения прямого аудиовывода для указанной дорожки. |
| SetDirectAudioVolume | Устанавливает громкость прямого аудиовывода для указанной дорожки. |
| SetTargetAudioSource | Устанавливает AudioSource, который будет получать аудио-семплы для указанной дорожки, если эта аудио-целя выбрана с помощью VideoPlayer.audioOutputMode. |
| StepForward | Немедленно перенести текущее время на один кадр вперед. |
| Stop | Останавливает воспроизведение и устанавливает текущее время в 0. |
Мероприятия
| Мероприятие | Описание |
|---|---|
| clockResyncOccurred | Вызывается, когда часы VideoPlayer синхронизируются с VideoTimeReference. |
| errorReceived | VideoPlayer использует этот обратный вызов для сообщения о различных типах ошибок. |
| frameDropped | Вызывается, когда видеодекодер не производит кадр согласно источнику времени во время воспроизведения. |
| frameReady | VideoPlayer вызывает это событие, когда новый кадр готов для отображения. |
| loopPointReached | VideoPlayer отправляет это событие, когда видео достигает конца своего проигрывания. |
| prepareCompleted | VideoPlayer вызывает это событие, когда видео готово для воспроизведения. |
| seekCompleted | Вызов после завершения поиска. |
| started | VideoPlayer отправляет это событие, когда видео начинает воспроизводиться. |
Делегаты
| делегат | Описание |
|---|---|
| ErrorEventHandler | Тип делегирования для событий VideoPlayer, содержащих сообщение об ошибке. |
| EventHandler | Тип делегирования для всех событий без параметров, выданных VideoPlayers. |
| FrameReadyEventHandler | Тип делегирования для событий VideoPlayer, которые несут номер кадра. |
| TimeEventHandler | Тип делегирования для событий VideoPlayer, которые несут позицию времени. |
Унаследованные члены 4
Свойства
| Свойство | Описание |
|---|---|
| enabled | True, если это Поведение включено, в противном случае false. |
| isActiveAndEnabled | Проверяет, включён ли компонент, прикреплен ли он к GameObject, который активен в иерархии, и вызван ли OnEnable компонента. |
| gameObject | GameObject, к которому прикреплен данный компонент. Компонент всегда прикрепляется к игровому объекту. |
| tag | Тег этого игрового объекта. |
| transform | Transform прикреплен к этому GameObject. |
| transformHandle | TransformHandle этого GameObject. |
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| BroadcastMessage | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте или любом из его дочерей. |
| CompareTag | Проверяет тег GameObject на соответствие определенному тегу. |
| GetComponent | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент. |
| GetComponentInChildren | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любого ребенка GameObject. |
| GetComponentIndex | Получает индекс компонента на его родительском GameObject. |
| GetComponentInParent | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любой родитель GameObject. |
| GetComponents | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент. |
| GetComponentsInChildren | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и на любого ребенка GameObject. |
| GetComponentsInParent | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и любой родитель GameObject. |
| SendMessage | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте. |
| SendMessageUpwards | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте и на каждом предшественнике поведения. |
| TryGetComponent | Получает компонент указанного типа, если он существует. |
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |