evenements:obc2012:dikogeek
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
obc2012:dikogeek [2013/05/02 12:46] – [Technique] florianh | evenements:obc2012:dikogeek [2022/09/04 21:50] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 61: | Ligne 61: | ||
- Etc. | - Etc. | ||
- | === Vidéo === | + | ==== Vidéo |
J'ai testé différente manières de lire une vidéo sous Raspi. \\ \\ | J'ai testé différente manières de lire une vidéo sous Raspi. \\ \\ | ||
Ligne 80: | Ligne 81: | ||
Je vous laisse rajouter des idées si vous avez de l' | Je vous laisse rajouter des idées si vous avez de l' | ||
- | === Interaction homme/ | + | |
+ | === Vos idées === | ||
+ | |||
+ | * C'est par ici | ||
+ | |||
+ | ==== Interaction homme/ | ||
Nous aurons probablement besoins d' | Nous aurons probablement besoins d' | ||
Ligne 90: | Ligne 96: | ||
* Utiliser un clavier PS2 ou USB et utiliser le contrôle du clavier | * Utiliser un clavier PS2 ou USB et utiliser le contrôle du clavier | ||
* Registre à décalage | * Registre à décalage | ||
+ | |||
+ | === Vos idées === | ||
+ | |||
+ | * C'est par ici | ||
+ | |||
+ | ===== Code source ===== | ||
+ | < | ||
+ | # | ||
+ | # -*-coding: | ||
+ | |||
+ | #Import des librairies nécessaires | ||
+ | import select, time | ||
+ | import sys, tty, termios | ||
+ | import os | ||
+ | import pygame | ||
+ | import subprocess, signal | ||
+ | from subprocess import Popen, PIPE | ||
+ | from pygame.locals import * | ||
+ | #import RPi.GPIO as GPIO | ||
+ | # | ||
+ | from evdev import InputDevice, | ||
+ | dev = InputDevice('/ | ||
+ | |||
+ | fpid = os.fork() | ||
+ | if fpid!=0: | ||
+ | # | ||
+ | sys.exit(0) | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | pygame.init() | ||
+ | pygame.display.init() | ||
+ | |||
+ | def accueil(): | ||
+ | ecran = pygame.display.set_mode((0, | ||
+ | image = pygame.image.load("/ | ||
+ | ecran.blit(image, | ||
+ | pygame.display.flip() # | ||
+ | |||
+ | #Fonction appelé lors d'un appuie bouton | ||
+ | def fct_movie(channel): | ||
+ | ecran = pygame.display.set_mode((0, | ||
+ | image = pygame.image.load("/ | ||
+ | ecran.blit(image, | ||
+ | pygame.display.flip() # | ||
+ | #Lancement d'un sous process pour récuperer la liste des processes en cours | ||
+ | p = subprocess.Popen([' | ||
+ | #Vérifie si le process se termine naturellement | ||
+ | while (p.poll() is None): | ||
+ | if dev.read_one() is not None: | ||
+ | os.killpg(p.pid, | ||
+ | break | ||
+ | if p.poll() is not None: | ||
+ | accueil() | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | accueil() | ||
+ | for event in dev.read_loop(): | ||
+ | if (event.code == ecodes.KEY_A and event.value == 0): | ||
+ | fct_movie(' | ||
+ | if (event.code == ecodes.KEY_B and event.value == 0): | ||
+ | fct_movie(2) | ||
+ | if (event.code == ecodes.KEY_C and event.value == 0): | ||
+ | fct_movie(3) | ||
+ | if (event.code == ecodes.KEY_D and event.value == 0): | ||
+ | fct_movie(' | ||
+ | |||
+ | pygame.display.quit() | ||
+ | pygame.quit() | ||
+ | </ | ||
+ | |||
evenements/obc2012/dikogeek.1367498787.txt.gz · Dernière modification : 2022/09/04 21:49 (modification externe)