Language:

サイドバー

バーチャルキャスト公式Wiki

メニュー

デバイス

アプリケーション

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:script:reference:exportaudiosource

ExportAudioSource(オーディオソース)

VCIにアタッチされているオーディオソース(AudioSource)の再生/停止などを行うクラスです。

  • UniVCI v0.32 以降でExportされたVCI
  • バーチャルキャスト v2.0.3b以降

で使用可能です。

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以降

_ALL_ を含む関数は、他のクライアントでも実行され同期します。
全てのクライアントで同じ結果になってほしい場合は _ALL_ を含む関数を使用してください。

Play
_ALL_Play

ClipName

ClipName string

AudioSourceに紐づいているAudioClipの名前を取得します。

戻り値

string

  • AudioClipの名前

サンプル

main.lua
-- 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

Play fun(volumeScale: number, isLoop: boolean):
_ALL_Play fun(volumeScale: number, isLoop: boolean):

AudioSourceに紐づいているAudioClipを再生します。

  • 同AudioSourceでAudioClipをPlay中である場合、Play中のAudioClipの再生は中断されます
  • PlayOneShotされている場合は中断されません

引数

volumeScale: float

再生音量

  • 0 ~ 1 の範囲で指定できます
  • 1を超える値を指定した場合、1として扱われます

isLoop: bool

再生音声をループさせるかどうかを表すフラグ

サンプル

main.lua
-- 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

PlayOneShot fun(volumeScale: number):
_ALL_PlayOneShot fun(volumeScale: number):

AudioSourceに紐づいているAudioClipを一度のみ再生します。

  • PlayOneShotは同AudioSourceでPlay中のAudioClipの再生を中断しません
  • PlayOneShotによって再生されたAudioClipはStop, Pauseすることができません

引数

volumeScale: float

再生音量

  • 0 ~ 1 の範囲で指定できます
  • 1を超える値を指定した場合、1として扱われます

サンプル

main.lua
-- 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

Stop fun(): void
_ALL_Stop fun(): void

AudioSourceからPlayされているAudioClipの再生を停止します。

  • Stopで再生を停止した後に再度Playした場合、対象のAudioClipの初めから再生されます
  • PlayOneShotされている音声は停止することはできません

サンプル

main.lua
-- 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

Pause fun(isPause: boolean):
_ALL_Pause fun(isPause: boolean):

AudioSourceからPlayされているAudioSourceの再生を一時停止/再開します。

  • PlayOneShotされている音声は一時停止/再開することができません

引数

isPaused: bool
再生を一時停止/再開するかどうかを表すフラグ

  • trueの場合、再生を一時停止します
  • falseの場合、一時停止した箇所から再生を再開します

サンプル

main.lua
-- 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
vci/script/reference/exportaudiosource.txt · 最終更新: 2022/09/01 13:15 by pastatto

ページ用ツール