[RESOLU]Audio html5 - float ou int ?

"Pixi.js v1.6.1 - http://www.pixijs.com/" pixi.js:12 L'encodage de caractères du document HTML n'a pas été déclaré. Le document sera affiché avec des caractères incorrects pour certaines configurations de navigateur si le document contient des caractères en dehors de la plage US-ASCII. L'encodage de caractères de la page doit être déclaré dans le document ou dans le protocole de transfert. index.html
Ce serait bien que les déclarations soient faites automatiquement par GD lors de la génération du index.html.

TypeError: Value being assigned to HTMLMediaElement.volume is not a finite floating-point value. soundmanager.js:50

Là, on a un souci.
Ce que j’en comprends, le volume sonore est foireux car il lui faut un float et non un entier.

Ou alors, en html5, les actions liées aux musiques n’acceptent pas une variable globale dans leur déclaration.
Typiquement, “jouer une musique sur un canal” ne voudrait pas de GlobalVariable(MonVolumeSonore) dans son volume.

Il y a moyen que je jette un oeil au jeu compilé ? Il y a surement une expression qui s’est mal “compilée”.
En javascript, il n’y a pas de entier ou de float, tout est un number (= float). Ce que dit le message d’erreur, c’est que ce qui a été passé n’est même pas un nombre, signe probable d’une grosse bourde quelque part. :slight_smile:

La fête continue …

downloadable font: kern: Table discarded (font-family: "gdjs_font_MonAmourFraktur-Broken.ttf" style:normal weight:normal stretch:normal src index:0) source: file:///C:/Users/administrateur/DIXweb21/MonAmourFraktur-Broken.ttf
Il n’en veut plus de ma belle font ?

TypeError: num is undefined commontools.js:88
Apparemment, il n’arrive pas à convertir MusicChannelVolume(0) en chaine de caractères.
Ce qui me laisse penser qu’il y a un souci avec le module Musique de GD (ou soundmanager.js, au choix).

Je vais continuer à chercher un peu, et je t’enverrai un zip du projet en web pour que tu regardes de ton coté.

Pour la font, c’est un message du navigateur, je m’inquieterai pas plus que cela.

Pour la suite, ça ne m’avance pas plus là, c’est toujours qu’il y a une erreur quelque part mais pour savoir où il faut remonter à la source : les méthodes sont bien codées, mais reçoivent des données mauvaises (“undefined” ici) et donc font n’importe quoi.
En particulier, il est fort probable que soundmanager.js soit parfaitement codé sans aucun bug, mais comme une fonction avant émet une erreur, on a l’impression que ça ne marche pas. :slight_smile:

Encore une fois, l’erreur vient probablement d’une expression ici, et pas du soundmanager.js ou de commontools.js (pour ce dernier, la fonction n’a pas de bug, je viens de revérifier), et donc il faudrait remonter à la racine : avoir un bout du jeu même compilé me permettrait de savoir d’où ça vient. :slight_smile:

Loul. J’avais encore jamais vu ça …

La carte graphique est peut-être trop vieille ?
(C’est une nVidia 9600 GS 512 MO)
Ou c’est le processeur Celeron 450 qui couine …

De mon coté je pense que dans le module Musique, il y a un blème dans l’accès des valeurs pointées par les variables.
Au lieu de lire “50”, GD (en export html5) lit “Mavariable”. Ce qui provoque un débordement mémoire, vu qu’il attend un nombre et qu’il a une chaine de caractère.

Voici un projet qui devrait illustrer le problème en question.
Trois scènes de changement de volume sonore, qui fonctionnent en natif, mais nettement moins en web.
Pas pu testé sous firefox, vu l’erreur qu’il m’envoie.

EDIT :
Testé sur Firefox avec une carte graphique plus récente.
Oui, mozilla trouve marrant de décréter invalide des cartes graphiques qu’il juge trop vieille, et donc bloque l’accélération matérielle en hard. Entre ça et leur incompétence totale dans la gestion des certificats SSL invalides (en gros, tous les serveurs qui n’ont pas un SSL tip-top ne sont plus accessibles, soit tous les intranets, webmail et sites de services pas assez riches pour casquer une autorité de certification) … :vener

'fin bref.
Donc oui, il y a un bien gros souci avec le module musique de GD en html5.
La scène freeze dès qu’on cherche à affecter une valeur de variable à un volume sonore. Comme illustré par le projet plus haut.
Ironie du sort, ça plante aussi de la même manière sous IE … alors que j’avais trouvé une astuce pour le faire lire les musiques et bruitages.

Et pis sinon, toujours la fuite mémoire façon mamouth qui fait planter le jeu en natif au bout de 5 minutes de balade.

Problème de son corrigé avec un fix de la version 3.6.76.
Je considère donc le bug résolu.

Reste la déclaration du type d’encodage de doc dans le fichier index.html … :sunglasses: