リファレンス

動画プレイヤー、その部品、エディターのセットアップ API のすべてのメンバーと、それぞれに付いている決まりの一覧です。

更新日 2026-10-22

すべて Udonite.Video にあります。エディター API は Udonite.Video.Editor.VideoSetup です。

VideoPlayer

VRChat の AVPro または Unity ビデオプレイヤーと同じ GameObject に置きます。VRChat は動画のイベントを、そのオブジェクト上のビヘイビアにしか送らないからです。

インスペクター

フィールド
player 再生する VRChat のビデオプレイヤー
avPro player が AVPro のときに有効
capture AVPro のみ。Create Video Player が設定します
target Unity プレイヤーのみ。Create Video Player が設定します
speakers 音量とミュートが設定する AudioSource
playlist キューが空のときに再生します。省略可
autoplay インスタンスが開いたときにプレイリストを始めます
startLocked ロックした状態でインスタンスを開きます
moderators いつでもプレイヤーを操作し、ロックを変えられる表示名
tolerance クライアントがずれてもよい秒数。超えるとシークし直します。既定は 1
startVolume 各プレイヤーが変えるまでの音量。0 から 1

コマンド

動画を変えるコマンドは、まずロックを確認します。拒否された呼び出しは何も変えず、Status に 4 秒間お知らせを表示します。

メンバー
PlayUrl(VRCUrl) キューはそのままに、リンクを今すぐ再生します
Enqueue(VRCUrl) リンクをキューに加え、何も再生していなければ再生します。最大 20 件
PlayEntry(int) プレイリストの項目を再生します
PlayFromQueue(int) キューの項目を今すぐ再生し、キューから外します
Play() 再開します。何も再生していなければ、キューかプレイリストの次を始めます
Pause() 全員で一時停止します。ライブ配信は一時停止できません
TogglePause() 再生中なら Pause、それ以外なら Play
Seek(float) 動画の割合(0 から 1)の位置へシークします
SeekTo(float) 秒で指定した位置へシークします
Skip() キューかプレイリストの次を再生し、なければ停止します
Stop() キューは残したまま、全員で停止します
Reload() このクライアントだけリンクを読み込み直し、部屋の位置へシークし直します
SetLooping(bool) 今の動画を全員でループします
SetLocked(bool) ロックまたは解除します。できるのはインスタンスオーナー、マスター、モデレーターだけです
RemoveFromQueue(int) キューから 1 件外します
ClearQueue() キューを空にします
SetVolume(float) このプレイヤー自身の音量。0 から 1
SetMuted(bool) このプレイヤー自身のミュート

状態

メンバー
int Revision 時計以外で、UI に表示するものが変わるたびに動きます
int State Idle、Loading、Playing、Paused、Failed。VideoPlayer の定数です
bool IsIdle、IsLoading、IsPlaying、IsPaused、HasFailed 同じものを 1 つずつ
bool HasVideo まだ再生していなくても、リンクが設定されている
bool IsLive 終わりのないストリームを再生中。一時停止もシークもできません
bool CanSeek 再生中か一時停止中で、ライブではない
bool Showing スクリーンに映像が出ている
string Title プレイリストのタイトル、または貼り付けたリンクの短いラベル
string AddedBy 今の動画を追加した人。プレイリストなら空
string Url 今のリンク
string Status お知らせ、問題、または Loading、Playing、Live、Paused、Nothing playing
string Problem 直前の読み込みが失敗した理由。次の読み込みまで残ります
float Position このクライアントでの再生位置(秒)
float Duration 長さ(秒)。ライブなら 0
float Progress 再生位置を長さで割った値。0 から 1
bool Looping、bool Locked 同期される設定
float Volume、bool Muted このプレイヤー自身の音
int QueueCount 待っている件数
string QueueTitle(int)、string QueueAddedBy(int) 1 件分
string NextTitle 次に流れるもの。キュー、またはシャッフルしていないプレイリストから
int PlaylistEntry 再生中のプレイリスト項目、または NoEntry
string OwnerName 今プレイヤーを所有している人
bool CanControl、bool CanModerate ローカルプレイヤーにできること
bool MayControl(VRCPlayerApi)、bool MayModerate(VRCPlayerApi) 同じことを、誰についてでも
Texture Picture 今のフレーム。自作のスクリーン用

VideoScreen

マテリアルに Udonite/Video/Screen を使うレンダラーならどれにでも付けられます。動画を aspect(面の幅÷高さ)にレターボックスします。ひとつのプレイヤーを何枚のスクリーンにでも映せます。

VideoPlaylist

フィールド
urls リンク。順番どおり
titles リンクごとのタイトル。空ならリンクを表示します
shuffle 次の項目をランダムに選びます。再生中のものは選びません
repeat 最後の次は最初に戻ります。既定で有効

部品

どの部品にも player があり、VideoPart を継承しています。

部品 フィールド
VideoButton command、button、icon、activeSprite、inactiveSprite、activeColor、inactiveColor。Run() でコードからコマンドを実行します
VideoLabel field、text(TextMeshPro)、legacyText、prefix、emptyText
VideoSlider mode(Seek または Volume)、slider
VideoLinkField field、enterPlaysNow
VideoShowWhen condition、invert、targets、spinner、spinSpeed
VideoQueueRow index、content、title、detail、detailPrefix、playButton、removeButton

VideoPart 自体には、サブクラスが実装しなければならない Refresh() と、上書きしてもよい Tick() と Connect() があります。Connect は、プレイヤーの準備ができたときに最初の Refresh より前に一度だけ呼ばれます。

プレイヤーがリンクの文字列に使う普通の関数で、自分のコードからも使えます。

メンバー
float StartSeconds(string) リンクが t= や start= で指定する開始時刻。なければ 0
string YouTubeId(string) どの形の YouTube リンクからでも動画 ID。なければ空
string Label(string) 貼り付けたリンクを表示するときの短いラベル

エディター

メニュー項目とインスペクターのボタンは VideoSetup を包んだだけなので、エディタースクリプトやエージェントもクリックせずに同じことができます。どの呼び出しも作ったものを返し、Add の呼び出しは、すでにあればふたつ目を作らずにそれを返します。

メンバー
CreatePlayer(Vector3, Quaternion, VideoBackend) プレイヤー一式。直リンクのファイルだけなら VideoBackend.Unity
AddScreen(VideoPlayer, Renderer) 任意のレンダラーにもう 1 枚のスクリーン
AddControls(VideoPlayer)、AddOverlay(VideoPlayer) 標準パネル、またはスクリーンのステータス表示を、ないプレイヤーに
AddPlaylist(VideoPlayer, bool autoplay) プレイヤーにプレイリスト
AddToPlaylist(VideoPlaylist, string link, string title) 1 項目
FetchTitles(VideoPlaylist) YouTube の項目の足りないタイトルを YouTube から埋めます
SetModerators(VideoPlayer, string[], bool startLocked) いつでも操作できる人
ConnectAudioLink(VideoPlayer) シーンの AudioLink をスピーカーにつなぎます
Apply() すべての Udonite ビヘイビアをコンパイルし、スクリプトから設定した値を Udon のプログラムに届けます

メニューのパスは VideoMenu.Create にあり、EditorApplication.ExecuteMenuItem に使えます。

問題が発生しました 再読み込み