Hi,
I've replaced Monobehavior,ITrackableEventHandler with DefaultTrackableEventHandler and it's still not working also it gives me an error in the
mTrackableBehaviour.RegisterTrackableEventHandler(this) line.
Here's a part of the code, I'm trying to play an audio file when a target is detected.
public class OnDetectPlayAudio : DefaultTrackableEventHandler
{
private TrackableBehaviour mTrackableBehaviour;
// Start is called before the first frame update
void Start()
{
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour) {
mTrackableBehaviour.RegisterTrackableEventHandler(this);
}
}
public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
//play audio
Debug.Log("play");
mTrackableBehaviour.gameObject.GetComponentInChildren<AudioSource>().Play();
}
else{
//stop audio
Debug.Log("stop");
mTrackableBehaviour.gameObject.GetComponentInChildren<AudioSource>().Stop();
}
}
}
Hi,
Please try DefaultTrackableEventHandler.
Thank you.
Vuforia Engine Support