J'utilise Xamarin pour développer une application AR multi-plateforme. J'utilise le suivi instantané de Wikitude.Comment utiliser le plugin wikitude sous forme de xamarin?
Je suis capable de démarrer l'activité Wikitude et capable de lancer le suivi instantané ... Maintenant, je veux capturer l'image haute résolution tout en poursuivant ... J'essaie de construire le plugin pour obtenir le cadre, puis le convertir au flux d'images
Son activité est mon Wikitude
namespace XamarinExample.Droid
{
[Activity(Label = "WikitudeActivity")]
public class WikitudeActivity : Activity, ArchitectView.IArchitectUrlListener
{
ArchitectView architectView;
string worldUrl;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.sample_cam);
Title = Intent.GetStringExtra("id");
worldUrl = "Wikitude" + File.Separator + Intent.GetStringExtra("id") + File.Separator + "index.html";
architectView = FindViewById<ArchitectView>(Resource.Id.architectView);
ArchitectStartupConfiguration startupConfiguration = new ArchitectStartupConfiguration();
startupConfiguration.setLicenseKey(Constants.WIKITUDE_SDK_KEY);
startupConfiguration.setFeatures(ArchitectStartupConfiguration.Features.ImageTracking);
startupConfiguration.setCameraResolution(CameraSettings.CameraResolution.Auto);
/////////////////////////////// Register Plugin////////////////////////////////////
var plugins = new Plugin01("test");
architectView.RegisterPlugin(plugins);
architectView.OnCreate(startupConfiguration);
architectView.RegisterUrlListener(this);
}
}
public class Plugin01 : Com.Wikitude.Common.Plugins.Plugin
{
public Plugin01(string p0) : base(p0)
{
}
Frame currentFrame = null;
public override void CameraFrameAvailable(Frame p0)
{
System.Diagnostics.Debug.WriteLine("AVAILABLE FRAME");
try
{
var data = p0.GetData();
currentFrame = p0;
}
catch (System.Exception ex) { }
}
public override void Update(RecognizedTarget[] p0)
{
System.Diagnostics.Debug.WriteLine("AVAILABLE FRAME");
if (p0 != null)
{
if (currentFrame != null)
{
// ConvertYuvToJpeg(currentFrame, p0[0]);
}
}
}
}
J'ai enregistré les plug-ins, mais il est n ot
public override void Mise à jour (RecognizedTarget [] p0) Méthode ... Qu'est-ce que je fais de mal ici?
Veuillez rétrécir le code là où vous avez votre problème. Le simple fait de jeter tout votre code et d'attendre que quelqu'un vous donne une réponse ne fonctionnera pas. – Cheesebaron
Salut @Cheesebaron J'ai affiner le code ... Mon problème est que je ne reçois pas de rappel sur ameraFrameAvailable (Frame p0) ..J'ai enregistré le plugin en premier extrait de code – pritam001