このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。
VCIにアタッチされているオーディオソース(AudioSource)の再生/停止などを行うクラスです。
で使用可能です。
ExportTransform | ||
---|---|---|
名前 | 説明 | バージョン |
GetAudioSources | VCI内のAudioSourceを取得 | |
ExportAudioSource | ||
名前 | 説明 | バージョン |
ClipName | AudioClipの名前を取得 | v2.0.3b 以降 |
Play | AudioClipを再生 | v2.0.3b 以降 |
PlayOneShot | AudioClipを一度だけ再生 | v2.0.3b 以降 |
Stop | AudioClipの再生を停止 | v2.0.3b 以降 |
Pause | AudioClipの再生を一時停止/再開 | v2.0.3b 以降 |
PlayScheduled | 指定したタイミングで音声を再生 | v2.3.9a 以降 |
SetTime | 再生時間を設定 | v2.3.9a 以降 |
SetPitch | ピッチを設定 | v2.3.9a 以降 |
GetDuration | audioClip の長さを返却 | v2.3.9a 以降 |
GetCurrentTime | 現在の再生時間を返却 | v2.3.9a 以降 |
IsPlaying | 現在再生中かどうかを返却 | v2.3.9a 以降 |
_ALL_
を含む関数は、他のクライアントでも実行され同期します。
全てのクライアントで同じ結果になってほしい場合は _ALL_
を含む関数を使用してください。
Play _ALL_Play
ClipName string
AudioSourceに紐づいているAudioClipの名前を取得します。
string
-- ExportAudioSource.ClipName -- -- root -- -> Cube -- -> AudioSource(Audio1というAudioClipが紐づいている) -- -> AudioSource(Audio2というAudioClipが紐づいている) -- 対象のExportTransformを取得する local cube = vci.assets.GetTransform("Cube") -- CubeにアタッチされているすべてのAudioSourceを取得する local audioSources = cube.GetAudioSources() -- VCI生成時に実行 -- それぞれのAudioSourceに紐づいているAudioClipの名前を出力する print(audioSources[1].ClipName) print(audioSources[2].ClipName) -- <出力結果> -- Audio1 -- Audio2
Play fun(volumeScale: number, isLoop: boolean):
_ALL_Play fun(volumeScale: number, isLoop: boolean):
AudioSourceに紐づいているAudioClipを再生します。
Play
中である場合、Play
中のAudioClipの再生は中断されますPlayOneShot
されている場合は中断されません
volumeScale
: float
再生音量
isLoop
: bool
再生音声をループさせるかどうかを表すフラグ
-- ExportAudioSource.Play -- -- root -- -> Cube -- -> AudioSource(Audio1というAudioClipが紐づいている) -- -> AudioSource(Audio2というAudioClipが紐づいている) -- 対象のExportTransformを取得する local cube = vci.assets.GetTransform("Cube") -- CubeにアタッチされているすべてのAudioSourceを取得する local audioSources = cube.GetAudioSources() -- VCI生成時に実行 -- Audio1を再生する audioSources[1].Play(1.0, false) -- Audio2をループ再生する(停止するためにStopを呼ぶ必要がある) audioSources[2].Play(1.0, true)
PlayOneShot fun(volumeScale: number):
_ALL_PlayOneShot fun(volumeScale: number):
AudioSourceに紐づいているAudioClipを一度のみ再生します。
PlayOneShot
は同AudioSourceでPlay
中のAudioClipの再生を中断しませんPlayOneShot
によって再生されたAudioClipはStop
, Pause
することができません
volumeScale
: float
再生音量
-- ExportAudioSource.PlayOneShot -- -- root -- -> Cube -- -> AudioSource(Audio1というAudioClipが紐づいている) -- -> AudioSource(Audio2というAudioClipが紐づいている) -- 対象のExportTransformを取得する local cube = vci.assets.GetTransform("Cube") -- CubeにアタッチされているすべてのAudioSourceを取得する local audioSources = cube.GetAudioSources() -- VCI生成時に実行 -- Audio1を一度のみ再生する audioSources[1].PlayOneShot(1.0) -- PlayOneShotした音はStopしても止まらない -- audioSources[1].Stop()
Stop fun(): void
_ALL_Stop fun(): void
AudioSourceからPlay
されているAudioClipの再生を停止します。
PlayOneShot
されている音声は停止することはできません-- ExportAudioSource.Stop -- -- root -- -> Cube(SubItem) -- -> AudioSource(Audio1というAudioClipが紐づいている) -- -> AudioSource(Audio2というAudioClipが紐づいている) -- 対象のExportTransformを取得する local cube = vci.assets.GetTransform("Cube") -- CubeにアタッチされているすべてのAudioSourceを取得する local audioSources = cube.GetAudioSources() -- VCIをuseしている間のみAudio1を再生し続ける function onUse(usedItem) audioSources[1].Play(1.0, true) end function onUnuse(unusedItem) audioSources[1].Stop() end
Pause fun(isPause: boolean):
_ALL_Pause fun(isPause: boolean):
AudioSourceからPlay
されているAudioSourceの再生を一時停止/再開します。
PlayOneShot
されている音声は一時停止/再開することができません
isPaused
: bool
再生を一時停止/再開するかどうかを表すフラグ
-- ExportAudioSource.Pause -- -- root -- -> Cube(SubItem) -- -> AudioSource(Audio1というAudioClipが紐づいている) -- -> AudioSource(Audio2というAudioClipが紐づいている) -- 対象のExportTransformを取得する local cube = vci.assets.GetTransform("Cube") -- CubeにアタッチされているすべてのAudioSourceを取得する local audioSources = cube.GetAudioSources() -- VCI生成時に実行 -- Audio1のループ再生を開始する audioSources[1].Play(1.0, true) -- VCIをuseしたときにAudio1を再生を再開/一時停止する -- Audio1が再生中かどうかを表すフラグ local isAudioPlaying = true function onUse(usedItem) -- フラグを反転させて再生状態を切り替える isAudioPlaying = not(isAudioPlaying) audioSources[1].Pause(isAudioPlaying) end
PlayScheduled fun(dspTime: number):
引数で指定したオーディオシステム上の時刻に音声を再生します。
PlayScheduled
による音声再生の予約は、一つの ExportAudioSource
上で同時に一つしかできません。PlayScheduled
の呼び出しから実際に音声が再生されるまでの間に PlayScheduled
を再度別の時刻を指定して呼び出した場合、前の PlayScheduled
による再生予約は後の PlayScheduled
による再生予約に上書きされます。
dspTime
: number
音声を再生するオーディオシステム上の時刻
-- ExportAudioSource.PlayScheduled -- -- root -- -> Cube(SubItem) -- -> AudioSource(Audio1というAudioClipが紐づいている) -- 対象のExportTransformを取得する local cube = vci.assets.GetTransform("Cube") -- CubeにアタッチされているすべてのAudioSourceを取得する local audioSources = cube.GetAudioSources() -- VCI生成時に実行 -- 現在のオーディオシステム上の時刻を取得する local dspTime = vci.me.GetDspTime() -- VCIを生成した3秒後に音声を再生する audioSources[1].PlayScheduled(dspTime + 3)
SetTime fun(time: number): void
再生時間を指定します。
サンプル
local cube = vci.assets.GetTransform("Cube") local audioSources = cube.GetAudioSources() function onUse(use) -- 5秒マークから再生する audioSources[1].Play(1, false) audioSources[1].SetTime(5) end
SetPitch fun(pitch: number): void
音声のピッチを設定します。
サンプル
local cube = vci.assets.GetTransform("Cube") local audioSources = cube.GetAudioSources() function onUse(use) -- 2倍速で再生する audioSources[1].Play(1, false) audioSources[1].SetPitch(2) end
GetDuration fun(): number
設定された AudioClip の長さを返します。
サンプル
local cube = vci.assets.GetTransform("Cube") local audioSources = cube.GetAudioSources() function onUse(use) -- 掴んだら AudioClip の長さをログに出力 print("Duration: " .. audioSources[1].GetDuration()) end
GetCurrentTime fun(): number
現在の再生時間を返します。
サンプル
local cube = vci.assets.GetTransform("Cube") local audioSources = cube.GetAudioSources() audioSources[1].Play(1, false) function onUse(use) -- 掴んだら現在の再生時間をログに出力 print("currentTime: " .. audioSources[1].GetCurrentTime()) end
IsPlaying fun(): boolean
現在再生中かどうかを返します。
サンプル
local cube = vci.assets.GetTransform("Cube") local audioSources = cube.GetAudioSources() audioSources[1].Play(1, false) function onUse(use) -- 掴んだら現在の再生中かどうかをログに出力 print("IsPlaying: " .. audioSources[1].IsPlaying()) end