YANA + VLC

edited mars 2014 in Le tuto du poivrot
Bonjour à tous

Je viens de trouver ça, c'est super pratique
Activer serveur web de VLC :
VLC -> Préférences ->Tout afficher -> Interface -> Interfaces principales-> Web ->activé(On)
Modifier vocalinfo.plugin.enabled.php :
[...]

    $response['commands'][] = array( ///////////////////////////////////////////////////////////////////////////////////////////////////
        'command'=>$conf->get('VOCAL_ENTITY_NAME').' piste suivante',
        'url'=>$actionUrl.'?action=vocalinfo_songnext','confidence'=>'0.88'
        );
    $response['commands'][] = array( ///////////////////////////////////////////////////////////////////////////////////////////////////
        'command'=>$conf->get('VOCAL_ENTITY_NAME').' piste précédente',
        'url'=>$actionUrl.'?action=vocalinfo_songprevious','confidence'=>'0.88'
        );

[...]

case 'vocalinfo_songnext': ////////////////////////////////////////////////////////////
            global $_;

                $url = 'http://192.168.1.3:8080/requests/status.xml?command=pl_next';
                $ch = curl_init($url);
                //curl_setopt($ch, CURLOPT_USERPWD, "mdp");
                curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
                $c = curl_exec($ch);
                curl_close($ch);

                $affirmation = 'Piste suivante';
                $response = array('responses'=>array(
                                        array('type'=>'talk','sentence'=>$affirmation)
                                                    )
                                );
                $json = json_encode($response);
                echo ($json=='[]'?'{}':$json);
        break;
       
        case 'vocalinfo_songprevious': ////////////////////////////////////////////////////////////
            global $_;

                $url = 'http://192.168.1.3:8080/requests/status.xml?command=pl_previous';
                $ch = curl_init($url);
                //curl_setopt($ch, CURLOPT_USERPWD, "mdp");
                curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
                $c = curl_exec($ch);
                curl_close($ch);

                $affirmation = 'Piste précédente';
                $response = array('responses'=>array(
                                        array('type'=>'talk','sentence'=>$affirmation)
                                                    )
                                );
                $json = json_encode($response);
                echo ($json=='[]'?'{}':$json);
        break;
Fini
  • status.xml?command=pl_play
  • status.xml?command=pl_pause
  • etc...
Bonne journée !

Commentaires

  • t'as pas de conflit entre vlc et domoticz qui écoutent tout les deux sur le port 8080?
  • De memoire les ip de son domoticz et du vlc n'est pas la meme donc sa ne pose aucun soucis
  • ah bien vu,
    je pensais que domoticz, vlc et yana-server étaient tout les trois sur le pi
    j'ai lu un peu trop vite (ou trop tôt)
    pourquoi utiliser vlc sur un autre ordi? pour juste des mp3 (ou flac, ca marche aussi il me semble) y'a mpd qui marche tres bien sur le pi (eventuellement avec une carte son usb, histoire d'avoir une sortie analogique de meilleure qualité), et y'a même un plugin yana pour le contrôler :p (auto-promotion inside :p )
  • Bonjour à tous !

    C'est effectivement pour contrôler le vlc sur mon pc à la voix, je l'utilise souvent donc je me suis dis... pourquoi pas... (très utile avec un casque sans fil :°)

    Je vais certainement faire d'autres commandes plus ou moins utiles, en utilisant les commandes (windows) comme shutdown, etc... ça peut être pratique

    Bonne journée 
    Dami
  • Salut, 

    Il y a quelque temps (quand j'avais encore le temps de faire du code), j'ai repris la classe php de ampache pour la gestion de vlc :class.php

    Si tu l'as réutilise, je suis preneur pour certaine partie, je n'ai jamais réussi à récupérer le state : 
    - Musique en cours
    - Avancement de la musique

    Bon courage pour la suite de ton dev
  • Coucou, pour trouver la musique en cours, il suffi d'avoir accès à http://localhost:8080/requests/status.xml et de parser le xml (SimpleXMLElement):

    artiste : <root><information><category name="meta"><info name="artist">
    titre : <root><information><category name="meta"><info name="title">
    position : <root><time>
    durée : <root><length>

    Bonne journée !
    Dami
  • Coucou !!!! 

    Merci pour cette info! je ne sais même pas pourquoi je n'avais pas compris, car c'est écrit dans le code !! :p

    Comme quoi un regard neuf !!!!

    Bonne journée
  • bonjour, je ne trouve pas le fichier 'vocalinfo.plugin.enabled.php' dans yana-server

Sign In or Register to comment.