- Home /
Augmented Reality sound input
Hello. I am trying to create a simple alphabet book base on an augmented reality application to help young children to learn english words.
I had successfully managed to set up the application with the help from https://ar.qualcomm.at/qdevnet/sdk/ios
However, I am facing a problem with the sound input. I am trying to input audio to this application whereby, eg. for alphabet A, iPhone detects the marker for alphabet A, and then output a 3D Apple image to indicate that it is an Apple. But I would like to input an audio voice to pronounce the word Apple along the way, is it possible to do that? If so, how?
Currently my script looks like this
using UnityEngine;
// A custom handler that implements the ITrackableEventHandler interface.
public class TrackableEventHandler : MonoBehaviour, ITrackableEventHandler{
AudioSource asrc;
#region PRIVATE_MEMBER_VARIABLES
private TrackableBehaviour mTrackableBehaviour;
#endregion // PRIVATE_MEMBER_VARIABLES
#region UNTIY_MONOBEHAVIOUR_METHODS
void Start()
{
asrc = GetComponent(typeof(AudioSource)) as AudioSource;
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
{
mTrackableBehaviour.RegisterTrackableEventHandler(this);
}
OnTrackingLost();
}
#endregion // UNTIY_MONOBEHAVIOUR_METHODS
#region PUBLIC_METHODS
// Implementation of the ITrackableEventHandler function called when the
// tracking state changes.
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED)
{
OnTrackingFound();
}
else
{
OnTrackingLost();
}
}
#endregion // PUBLIC_METHODS
#region PRIVATE_METHODS
private void OnTrackingFound()
{
asrc.Play();
Renderer[] rendererComponents = GetComponentsInChildren<Renderer>();
// Enable rendering:
foreach (Renderer component in rendererComponents) {
component.enabled = true;
}
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
}
private void OnTrackingLost()
{
Renderer[] rendererComponents = GetComponentsInChildren<Renderer>();
// Disable rendering:
foreach (Renderer component in rendererComponents) {
component.enabled = false;
}
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
}
#endregion // PRIVATE_METHODS
}
The codes in bold are the codes I tried to add myself. I had already attach an AudioSource to the object I want to make the sound, and also loaded a sound clip into the audio source. But it is still not working ): any help?
Your answer
Follow this Question
Related Questions
I need help about audio.PlayOneShot!! 1 Answer
Calculating rhythm of any music? 3 Answers
Boolean and audio is not working right 1 Answer
How To Turn Off Sound For Certain Objects? 1 Answer
unity won't play sounds i implement 1 Answer