I am initializing a VideoDrawable then an ImageTrackable in my AR world much in the same way as shown in some of the sample projects on GitHub. The problem I am encountering is that although both are being properly created, it seems that the ImageTrackable's onEnterFieldOfVision and/or onImageRecognized methods are not being triggered reliably. For some images it works great, the video is loaded no problem, and the video is overlaid nicely on the image. For other images it simply does not overlay the video at all (and I can see from my debugging it does not call the onImageRecognized method) which would explain why I can hear the video but not see it. One of the images in question is a 2 star, so I am not really sure how to remedy this situation. Any suggestions would be much appreciated.
It seems as though when I run into this tracking issue, if I pull the image out of view, then back into view, the video will appear and snap on. So it is almost as if the ImageTrackable's onImageRecognized method isn't being called initially...
In addition, you could have a look at this documentation regarding Best practice for Image Targets.
For anyone else having this problem, and so that the Wikitude team knows what's going on:
I've been able to pinpoint the problem to the fact that the AR.ImageTrackable does not always enter the "onImageRecognized" event quickly enough. From what I have experienced, there seems to be two "recognitions", one made by the AR.ImageTracker to actually identify the target image and one made by the AR.ImageTrackable to track the identified target image and place the drawable(s) on it. This causes a delay sometimes when the AR.ImageTrackable does not pick up the image right away and the user has to move the camera around to get it to "recognize" it.
I have attached a screenshot to the pertinent example in the API Reference where the code workflow I am using is discussed. I would provide my AR World to you Eva but it probably wouldn't be fruitful because there's a lot of back and forth communication between the native and non-native code in it, so it would not run for you guys without the entire project anyways.