Bug de culture sur KinectExplorer

Microsoft a visiblement fait des efforts pour internationaliser Kinect : la reconnaissance vocale est désormais supportée dans de nombreuses langues additionnelles, dont le français. Toutefois, il reste quelques petits bugs dans les programmes exemples. C’est en particulier le cas de KinectExplorer.

image

Si vous le lancez tel quel (bouton Run), vous obtiendrez un plantage :

image

Ainsi bien sûr que l’assistant de compatibilité :

image

Il faut donc plutôt installer le programme exemple (bouton Install), puis ouvrir la solution Visual Studio .NET et lancer en mode débogage pour mieux voir le problème. Dans le menu Déboguer / Exceptions, activer le traçage des exceptions CLR levées :

image

Lors de l’initialisation, on tombe sur l’exception suivante :

image

La valeur envoyée dans la méthode ObjectToDouble de la classe Converters est une chaîne avec un séparateur de décimales qui est codé en point en dur. Et comme la culture par défaut de nos machines françaises utilise une virgule, ça ne marche pas.

Pour bien faire, il faudrait rentrer dans le code pour voir d’où vient le point codé en dur, mais la pile des appels montre du code inconnu, et on ne voit pas quelle fonction est à l’origine du problème. Peut-être le toolkit Kinect… Je regarderai un de ces jours, mais pour l’instant, le but est juste de faire marcher l’exemple. On rajoute donc simplement les deux lignes ci-dessous dans App.xaml.cs :

public partial class App : Application
{
    private void Application_Startup(object sender, StartupEventArgs e)
    {
        System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
    }
}

Et du coup, ça passe (à part la reconnaissance de squelette qui part un peu en vrille quand on est assis et qu’on n’active pas le mode correspondant au lieu de rester en mode squelette complet debout) :

image

About JP Gouigoux

Jean-Philippe Gouigoux est Architecte Logiciel, MVP Connected Systems Developer. Il intervient régulièrement à l'Université de Bretagne Sud ainsi qu'à l'Agile Tour. Plus de détails sur la page "Curriculum Vitae" de ce blog.
This entry was posted in .NET, C#, Retours and tagged . Bookmark the permalink.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha Captcha Reload