Language:

サイドバー

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

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:script:reference:exportassets:audio

ExportAudio(オーディオ制御)

このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。

VCIの中全体のオーディオを制御できます。
また_ALL_が付いている関数は空間内に居るユーザー全員のVCIで実行されます。

ExportAudioはVCI内に含まれるオブジェクト全体を参照してしまうので、オーディオの名前被りやインデックスが分からないといった場合があります。
現在はExportAudioは非推奨で、ExportAudioSourceの使用が推奨となりました。

ExportAssets
名前 説明 バージョン
audio VCI内のObjectを取得
ExportAudio
名前 説明 バージョン
Play 再生(ファイル名)
PlayFromIndex 再生(インデックス番号)
PlayOneShot 1回だけ再生(ファイル名)
PlayOneShotFromIndex 1回だけ再生(インデックス番号)
Stop 再生を停止(ファイル名)
StopFromIndex 再生を停止(インデックス番号)
Pause 再生を一時停止(ファイル名)
PauseFromIndex 再生を一時停止(インデックス番号)
IsPlaying 再生中かどうか(ファイル名) 2.3.4a以降
IsPlayingFromIndex 再生中かどうか(インデックス番号) 2.3.4a以降
GetDuration オーディオの長さ(ファイル名)2.3.4a以降
GetDurationFromIndex オーディオの長さ(インデックス番号) 2.3.4a以降
GetCurrentTime オーディオの再生位置(ファイル名)2.3.4a以降
GetCurrentTimeFromIndex オーディオの再生位置(インデックス番号) 2.3.4a以降

audio

ExportAssets. audio ExportAudio

VCI内のObjectを取得します。

サンプル

main.lua
local Audio = vci.assets.audio
function onUse(use)
    Audio._ALL_Play("Fire", 0.5, false)
end

実行結果

"Fire"というAudioを再生する。

AudioIndex


  • オーディオはオーディオクリップのファイル名で指定する方法と、AudioIndexで指定する方法があります。
  • AudioIndexはhierarchyの上から順に登録されてゆきます。
  • Index番号は0から始まります。
  • 上記の画像ではAudioTest_1のアイテムの場合、index0を指定するとAudio1が再生され、
    AudioTest_2のアイテムの場合、index0を指定するとAudio5が再生されます。

Play

ExportAudio.Play: fun(name: string, volumeScale: number, isLoop: bool)
ExportAudio._ALL_Play: fun(name: string, volumeScale: number, isLoop: bool)

第1引数:AudioClip名(String) 第2引数:音量(number) 第3引数:ループ設定(bool)

  • 引数は全て入れる必要があります。省略できません。
  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- trueならオーディオをループ再生、falseなら1回だけ再生
    local audioLoop = true
 
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    --"Audio1"をループ再生する
    vci.assets.audio._ALL_Play("Audio1", audioVolume, audioLoop)
end
 
function onUnuse()
    --"Audio1"オーディオを停止する
    vci.assets.audio._ALL_Stop("Audio1")
end

実行結果

(Useをした時に"Audio1"を音量0.5でループ再生します。)
(Unuseをした時に"Audio1"を停止します。)

PlayFromIndex

PlayFromIndex: fun(index: number, volumeScale: number, isLoop: bool)
_ALL_PlayFromIndex: fun(index: number, volumeScale: number, isLoop: bool)

第1引数:インデックス番号(number) 第2引数:音量(number) 第3引数:ループ設定(bool)

  • 引数は全て入れる必要があります。省略できません。
  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- trueならオーディオをループ再生、falseなら1回だけ再生
    local audioLoop = true
 
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- AudioIndex0 をループ再生する
    vci.assets.audio._ALL_PlayFromIndex(0, audioVolume, audioLoop)
end
 
function onUnuse()
    -- AudioIndex0 のオーディオを停止する
    vci.assets.audio._ALL_StopFromIndex(0)
end

実行結果

(Useをした時に AudioIndex0 を音量0.5でループ再生します。)
(Unuseをした時に AudioIndex0 を停止します。)

PlayOneShot

PlayOneShot: fun(name: string, volumeScale: number)
_ALL_PlayOneShot: fun(name: string, volumeScale: number)

第1引数:AudioClip名(String) 第2引数:音量(number)

  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- "Audio1" をループ再生する
    vci.assets.audio._ALL_PlayOneShot("Audio1", audioVolume)
end

実行結果

(Useをした時に"Audio1"を音量0.5で1回だけ再生します。)

PlayOneShotFromIndex

PlayOneShotFromIndex: fun(index: number, volumeScale: number)
_ALL_PlayOneShotFromIndex: fun(index: number, volumeScale: number)

第1引数:インデックス番号(number) 第2引数:音量(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。
  • 音量は0から1の間で指定し、1を超えた値で指定された場合は1として使います。

サンプル

main.lua
function onUse()
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- AudioIndex0 をループ再生する
    vci.assets.audio._ALL_PlayOneShotFromIndex(0, audioVolume)
end

実行結果

(Useをした時に AudioIndex0 を音量0.5で1回だけ再生します。)

Stop

Stop: fun(name: string)
_ALL_Stop: fun(name: string)

第1引数:AudioClip名(String)

  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。

サンプル

main.lua
function onUse()
    --"Audio1"をループ再生する
    vci.assets.audio._ALL_Play("Audio1", 0.5, true)
end
 
function onUnuse()
    --"Audio1"オーディオを停止する
    vci.assets.audio._ALL_Stop("Audio1")
end

実行結果

(Useをした時に"Audio1"を音量0.5でループ再生します。)
(Unuseをした時に"Audio1"を停止します。)

StopFromIndex

StopFromIndex: fun(index: number)
_ALL_StopFromIndex: fun(index: number)

第1引数:インデックス番号(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。

サンプル

main.lua
function onUse()
    -- AudioIndex0 をループ再生する
    vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true)
end
 
function onUnuse()
    -- AudioIndex0 のオーディオを停止する
    vci.assets.audio._ALL_StopFromIndex(0)
end

実行結果

(Useをした時に AudioIndex0 を音量0.5でループ再生します。)
(Unuseをした時に AudioIndex0 を停止します。)

Pause

Pause: fun(name: string, isPause: bool)
_ALL_Pause: fun(name: string, isPause: bool)

第1引数:AudioClip名(String) 第2引数:停止/再生の設定(bool)

  • オーディオはAudioSourceのAudioClipに割り当てられたファイル名で指定します。
  • trueの場合、オーディオの再生を一時停止します。
    falseの場合、一時停止しているオーディオの再生を再開します。

サンプル

main.lua
-- "Audio1" をループ再生する
vci.assets.audio._ALL_Play("Audio1", 0.5, true)
 
 
function onUse()
    -- "Audio1" の再生をポーズする
    vci.assets.audio._ALL_Pause("Audio1", true)
end
 
function onUnuse()
    -- "Audio1" のポーズを解除して再生を再開する
    vci.assets.audio._ALL_Pause("Audio1", false)
end

実行結果

(VCIを出した時に"Audio1"の再生がループ有で開始します。)
(Useをした時に"Audio1"を一時停止します。)
(Unuseをした時に"Audio1"を一時停止した時点から再生を行います。)

PauseFromIndex

PauseFromIndex: fun(index: number, isPause: bool)
_ALL_PauseFromIndex: fun(index: number, isPause: bool)

第1引数:インデックス番号(number) 第2引数:停止/再生の設定(bool)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。
  • trueの場合、オーディオの再生を一時停止します。
    falseの場合、一時停止しているオーディオの再生を再開します。

サンプル

main.lua
-- AudioIndex0 をループ再生する
vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true)
 
 
function onUse()
    -- AudioIndex0 の再生をポーズする
    vci.assets.audio._ALL_PauseFromIndex(0, true)
end
 
function onUnuse()
    -- AudioIndex0 のポーズを解除して再生を再開する
    vci.assets.audio._ALL_PauseFromIndex(0, false)
end

実行結果

(VCIを出した時に AudioIndex0 の再生がループ有で開始します。)
(Useをした時に AudioIndex0 を一時停止します。)
(Unuseをした時に AudioIndex0 を一時停止した時点から再生を行います。)

IsPlaying

使用するには下記の環境が必要です。

  • UniVCI v0.39.1 以降
  • VirtualCast 2.3.4a 以降

IsPlaying: fun(name: string): bool

AudioClip名(String)

  • オーディオはAudioClip名で指定します。

返り値

  • 指定した音声の再生状況をbool型で返します。
    • 再生中の場合は `true` を返し、一時停止中あるいは停止中の場合 `false` を返します。

サンプル

main.lua
function onUse()
    -- "Audio1" の再生状況を取得する
    isPlaying = vci.assets.audio.IsPlaying("Audio1")
    print(isPlaying)
end

実行結果

false
main.lua
vci.assets.audio._ALL_Play("Audio1", 0.5, true)
 
function onUse()
    -- "Audio1" の再生状況を取得する
    isPlaying = vci.assets.audio.IsPlaying("Audio1")
    print(isPlaying)
end

実行結果

true

IsPlayingFromIndex

使用するには下記の環境が必要です。

  • UniVCI v0.39.1 以降
  • VirtualCast 2.3.4a 以降

IsPlayingFromIndex: fun(index: number): bool

インデックス番号(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。

返り値

  • 指定した音声の再生状況をbool型で返します。
    • 再生中の場合は `true` を返し、一時停止中あるいは停止中の場合 `false` を返します。

サンプル

main.lua
function onUse()
    -- AudioIndex0 の再生状況を取得する
    isPlaying = vci.assets.audio.IsPlayingFromIndex(0)
    print(isPlaying)
end

実行結果

false
main.lua
vci.assets.audio._ALL_PlayFromIndex(0, 0.5, true)
 
function onUse()
    -- AudioIndex0 の再生状況を取得する
    isPlaying = vci.assets.audio.IsPlayingFromIndex(0)
    print(isPlaying)
end

実行結果

true

GetDuration

使用するには下記の環境が必要です。

  • UniVCI v0.39.1 以降
  • VirtualCast 2.3.4a 以降

GetDuration: fun(name: string): number

AudioClip名(String)

  • オーディオはAudioClip名で指定します。

返り値

  • 指定した音声ファイルの長さをnumber型で返します。
    • 単位は秒です。

サンプル

main.lua
function onUse()
    -- "Audio1" の長さを取得する
    local duration = vci.assets.audio.GetDuration("Audio1")
    print(duration)
end

実行結果

10.5

GetDurationFromIndex

使用するには下記の環境が必要です。

  • UniVCI v0.39.1 以降
  • VirtualCast 2.3.4a 以降

GetDurationFromIndex: fun(index: number): number

インデックス番号(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。

返り値

  • 指定した音声ファイルの長さをnumber型で返します。
    • 単位は秒です。

サンプル

main.lua
function onUse()
    -- AudioIndex0 のオーディオの長さを取得する
    local duration = vci.assets.audio.GetDurationFromIndex(0)
    print(duration)
end

実行結果

10.5

GetCurrentTime

使用するには下記の環境が必要です。

  • UniVCI v0.39.1 以降
  • VirtualCast 2.3.4a 以降

GetCurrentTime: fun(name: string): number

AudioClip名(String)

  • オーディオはAudioClip名で指定します。

返り値

  • 指定した音声ファイルの現在の再生位置を返します。
    • 単位は秒です。

サンプル

main.lua
function onGrab()
    -- trueならオーディオをループ再生、falseなら1回だけ再生
    local audioLoop = true 
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- AudioIndex0 をループ再生する
    print("StartPlaying Audio")
    vci.assets.audio.PlayFromIndex(0, audioVolume, audioLoop)
end
 
function onUse()
    local currentTime = vci.assets.audio.GetCurrentTime("Audio1")
    print("currentTime: "..tostring(currentTime))
end

実行結果(Grabした後にUseした際の出力)

currentTime: 1.523

GetCurrentTimeFromIndex

使用するには下記の環境が必要です。

  • UniVCI v0.39.1 以降
  • VirtualCast 2.3.4a 以降

GetCurrentTimeFromIndex: fun(index: number): number

インデックス番号(number)

  • オーディオはAudioIndexのnumberで指定します。
    Indexの割り当てルールは こちらを確認してください。

返り値

  • 指定した音声ファイルの現在の再生位置を返します。
    • 単位は秒です。

サンプル

main.lua
function onGrab()
    -- trueならオーディオをループ再生、falseなら1回だけ再生
    local audioLoop = true 
    -- 0 から 1 の間で音量を指定
    local audioVolume = 0.5
 
    -- AudioIndex0 をループ再生する
    print("StartPlaying Audio")
    vci.assets.audio.PlayFromIndex(0, audioVolume, audioLoop)
end
 
function onUse()
    local currentTime = vci.assets.audio.GetCurrentTimeFromIndex(0)
    print("currentTime: "..tostring(currentTime))
end

実行結果(Grabした後にUseした際の出力)

currentTime: 1.523
vci/script/reference/exportassets/audio.txt · 最終更新: 2023/10/04 15:19 by pastatto

ページ用ツール