このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。
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