Vuforiaでオブジェクトをレンダリングするときにサウンドクリップを再生しようとしています。私はこのためにVuforiaのフォーラムでsolutionを見つけましたが、実際にはUnity Crahesの私のために働いていません。VuforiaでUnity3D用にレンダリングされたオーディオを再生する
ソリューションはVuforiaのソースコードからDefaultTrackableEventHandler.cs \資産\ Vuforia \スクリプト\ファイルを変更することで構成されています
private void OnTrackingFound()
{
Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);
// *** Additional Audio code
foreach (Transform child in transform)
{
child.audio.Play();
}
// Enable rendering:
foreach (Renderer component in rendererComponents)
{
component.enabled = true;
}
// Enable colliders:
foreach (Collider component in colliderComponents)
{
component.enabled = true;
}
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
}
private void OnTrackingLost()
{
Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);
// *** Additional Audio code
foreach (Transform child in transform)
{
child.audio.Stop();
}
// Disable rendering:
foreach (Renderer component in rendererComponents)
{
component.enabled = false;
}
// Disable colliders:
foreach (Collider component in colliderComponents)
{
component.enabled = false;
}
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
}
は、それはちょうどchild.audio.Play()を追加します。が呼び出されるOnTrackingFound()およびchild.audio.Stop(); OnTrackingLost(で呼び出される)
これは理論的には動作するはずです、私がイメージ・ターゲットの子としてのオーディオファイルを追加しましたが、「Component.audioは、」廃止されましたので、私はそれを変更しなければなりませんでした代わりにGetComponent<AudioSource>()
になります。それが動作していないのはなぜ
// *** Additional Audio code
foreach (Transform child in transform)
{
child.GetComponent<AudioSource>().Play();
}
そして
// *** Additional Audio code
foreach (Transform child in transform)
{
child.GetComponent<AudioSource>().Stop();
}
:だからコードは次のように終わりましたか?
GetComponent<AudioSource>()
が間違っていますか?
代替手段はありますか?