Language:

サイドバー

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

メニュー

VirtualCast

THE SEED ONLINE

配信

その他

リリース情報

デベロッパー向け


開発環境

VRM

VCI

GLB

vci:script:reference:exportaudiosource

ExportAudioSource


ExportAudioSourceはVCIにアタッチされている音源の再生/停止などを行うクラスです。

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

で使用可能です。


メンバ変数・関数一覧

[EmbeddedScriptWorkspace]フォルダ内の[types.lua]を開くと一覧を確認できます。

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

表記の省略の為、Vector3型Vec3number型num と表記してあります。
引数は () の中に、戻り値の型は :(セミコロン) の後に表記してあります。

名前 説明 VCバージョン
ClipName: string AudioSourceに紐づいているAudioClipの名前を取得します v2.0.3b以降
Play(volumeScale: float, isLoop: bool) AudioSourceに紐づいているAudioClipを再生しますv2.0.3b以降
_ALL_Play(volumeScale: float, isLoop: bool)Play()の同期版v2.0.3.b以降
PlayOneShot(volumeScale: float) AudioSourceに紐づいているAudioClipを一度だけ再生しますv2.0.3b以降
_ALL_PlayOneShot(volumeScale: float) PlayOneShot()の同期版v2.0.3b以降
Stop()AudioSourceに紐づいているAudioClipの再生を停止しますv2.0.3b以降
_ALL_Stop()Stop()の同期版v2.0.3b以降
Pause(isPaused: bool)AudioSourceに紐づいているAudioClipの再生を一時停止/再開しますv2.0.3b以降
_ALL_Pause(isPaused: bool)Pause()の同期版v2.0.3b以降

ClipName

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(volumeScale: float, isLoop: bool)

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(volumeScale: float)

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()

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(isPaused: bool)

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 · 最終更新: 2021/03/16 13:26 by ichi

ページ用ツール