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


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)

サンプル

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)

サンプル

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)

サンプル

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)

サンプル

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)

サンプル

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)

サンプル

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)

サンプル

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)

サンプル

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)

返り値

サンプル

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)

返り値

サンプル

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)

返り値

サンプル

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)

返り値

サンプル

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)

返り値

サンプル

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)

返り値

サンプル

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