Bonjour,
Je développe depuis quelques années pour ma société des programmes bureautiques en Open Basic, le langage des macros de la suite Open Office. La plus grosse parties de ces programmes s'occupe de formater des fichiers ou de manipules des bases de données.
Une autre partie de notre travail consiste à piloter des flux audio et vidéo et à en obtenir des infos. J'utilisais pour cela mplayer et des commandes shell envoyées par un fifo, solution plus simple apparemment et plus complète en termes de support de format que par la JMF.
Or j'ai trouvé récemment que ce travail pouvait être fait plus simplement par dbus en utilisant gnome-mplayer. Par exemple, pour lire ou arrêter la lecture :
dbus-send --type=signal / com.gnome.mplayer.Pause
En revanche, la méthode GetDuration() me retourne une erreur. Je ne parviens pas à obtenir de retour et cela rend dbus-send inutilisable.
dbus-send --type=signal --print-reply / com.gnome.mplayer.GetDuration
L'erreur :
Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Pourtant l'utilisation de la méthode GetDuration au travers de l'outil graphique D-Bus debugger, fonctionne sans problème.
Me faut-il repenser mon travail en utilisant un autre langage ? Python semble bien adapté pour manipuler DBus ? C++ aussi mais je n'en suis pas spécialiste du tout !
Dans tous les cas, merci de votre patience et de votre indulgence !
Partager