Mplayer Remote Midlet

publicité
Mplayer Remote Midlet
Am au r y Fr an cois , An t h on y Ch at ellier ,
Mickael Mela s , Cyp r ien Car m ier
Introduction
●
Le but du projet est de créer une télécom m ande de contrôle de Mplayer via
Bluetooth.
Plan de la présentation
●
MIDlet : présentation de l'interface graphique sur le téléphone.
●
Com m unication Bluetooth du point de
vue client et serveur.
●
Intéraction du serveur Java avec
Mplayer.
●
Dém onstration.
●
Evolutions envisagées.
MIDlet
●
Présentation générale, aspect graphique.
Communication Bluetooth
●
Objectifs initiaux
●
Problèm es rencontrés
●
Com m unication du côté client
●
–
Essai détection de service
–
Bilan : adresse MAC en dur dans le code
Com m unication côté serveur
–
Création d'un service, enregistrement auprès
du serveur SDP.
Communication avec Mplayer
●
Interaction Java – C+ + : introduction JNI
●
Découverte de la Xlib : début de solution
proposée par le projet n°10 de l'an
passé.
Introduction JNI
●
Classe JAVA où l'on déclare les fonctions
souhaitées.
public class HelloWorld {
static { System.loadLibrary("HelloWorld"); }
public static native void printCpp();
public static void main(String args[]) {
System.out.println("Hello ");
HelloWorld.printCpp();
}
}
Introduction JNI (suite)
●
Squelette généré par la com m ande javah
* DO NOT EDIT THIS FILE ­ it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: printCpp
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_printCpp
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
/
Découverte Xlib
●
Ex em ple de code pour l'envoi d'une
sim ulation de pressage de touche.
Display* disp = XOpenDisplay( NULL );
if( disp = = NULL )
return;
XTestFakeKeyEvent( disp,
XKeysymToKeycode( disp, XK_F ),
True, CurrentTime );
XTestFakeKeyEvent( disp,
XKeysymToKeycode( disp, XK_F ),
False, CurrentTime );
XcloseDisplay(disp);
Démonstration...
Conclusion
●
Ex tensions possibles :
–
Sélection du fichier via un navigateur
implémenté sur la télécommande
–
Détection de service Bluetooth
–
Créer une sorte de plugin pour Mplayer au
lieu de passer par un serveur dédié. (Etudier
l'utilisation de la commande - slave, listes des
commandes disponibles avec - input cmdlist)
–
Visualisation sur le téléphone de
l'avancement du film (scrollbar, problème de
retour avec Mplayer)
Téléchargement