IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Bip carte mère


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 106
    Points : 66
    Points
    66
    Par défaut Bip carte mère
    Bonjour à tous,

    Je souhaites trouver un moyen de contrôler le buzzer de la carte mère, également la sortie casque (les deux de manière portable)


    l'idée est de contrôler soit l'un ou l'autre en fonction d'un choix utilisateur, je souhaites également appeler ma fonction de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    def bip_value(frequance,duree):
       ...

    j'ai trouvée une méthode mais malheureusement elle n'est apparemment pas portable !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def beep(frequency, amplitude, duration):
    ...     sample = 8000
    ...     half_period = int(sample/frequency/2)
    ...     beep = chr(amplitude)*half_period+chr(0)*half_period
    ...     beep *= int(duration*frequency)
    ...     audio = file('/dev/audio', 'wb')
    ...     audio.write(beep)
    ...     audio.close()
    ... 
    beep(440,63,1)
    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Es tu conscient que ta fonction beep créé un fichier wave et le joue, qu'elle n'a donc rien à voir avec le vieux beep des premiers PC?

    Pour la portabilité, je te conseille de passer par le module wave de python, qui fait en gros la même chose que ce que tu as trouvé mais l'encapsule pour toutes les plateformes de façon transparente.

    http://docs.python.org/library/wave.html

    A+

    Pfeuh

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par pfeuh Voir le message
    Es tu conscient que ta fonction beep créé un fichier wave et le joue, qu'elle n'a donc rien à voir avec le vieux beep des premiers PC?
    Ecrire dans /dev/audio revient à envoyer des données directement au driver audio sous Linux. La fonction beep présentée ne créé aucunement un fichier .wav.

    Voici un exemple avec la librairie winsound disponible avec la distribution Python 2.7 sous Windows : Audio Beep (Windows)

  4. #4
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Citation Envoyé par uther78 Voir le message
    envoyer des données directement au driver audio sous Linux.
    Oui, c'est un flux, j'ai parlé un peu vite de fichier. Et j'ai rajouté wav pour désigner le type de données qui passent. C'est un abus de langage.

  5. #5
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Bonjour,
    pour ce qui est de la portabilite tu pourrais bidouiller un fichier <media> par exemple, qui importe selon le systeme: <sonau>, <wave>, ou <aifc> et puis definir ta fonction <beep> en fonction du l import effectue. Donc dans l utilisation, tu n auras plus a te soucier du systeme.
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

Discussions similaires

  1. [MS-DOS] Faire sonner la carte mère
    Par Furius dans le forum Scripts/Batch
    Réponses: 14
    Dernier message: 20/09/2005, 17h48
  2. Remplacement de Carte Mère
    Par Loceka dans le forum Composants
    Réponses: 3
    Dernier message: 04/08/2005, 08h01
  3. 2 cartes graphiques pour une carte mère
    Par SteelBox dans le forum Composants
    Réponses: 19
    Dernier message: 02/08/2005, 12h09
  4. Carte mère Asus K8NE-Deluxe --> Marche pas
    Par portu dans le forum Composants
    Réponses: 12
    Dernier message: 13/06/2005, 09h26
  5. [Carte mère] Désactiver le bip au démarrage
    Par Vow dans le forum Composants
    Réponses: 7
    Dernier message: 09/01/2004, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo