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?
asked
Dec 14 '11 at 04:02 PM
hellfirehell
1
●
2
●
2
●
3