20
janvier
2013
Gstreamer : modifier les tags d’un fichier mp3 (Vala)
janvier
2013
Un article de Rachel
Pas de commentaires
Voici un programme basique montrant le fonctionnement d’un pipeline comprenant id3v2mux, qui va agir sur les informations :
using Gst;
public static void main(string[] args){
Gst.init(ref args);
var pipe = new Pipeline("pipe");
var src = ElementFactory.make("filesrc","src");
src.set("location",args[1]);
var mux = ElementFactory.make("id3v2mux","mux");
GLib.Value val = new GLib.Value(typeof(string));
val.set_string("toto");
(mux as TagSetter).add_tag_value(TagMergeMode.REPLACE_ALL,"album",val);
var sink = ElementFactory.make("filesink","sink");
sink.set("location","new_mp3.mp3");
pipe.add_many(src,mux,sink);
src.link(mux);
mux.link(sink);
pipe.set_state(State.PLAYING);
new MainLoop().run();
}
public static void main(string[] args){
Gst.init(ref args);
var pipe = new Pipeline("pipe");
var src = ElementFactory.make("filesrc","src");
src.set("location",args[1]);
var mux = ElementFactory.make("id3v2mux","mux");
GLib.Value val = new GLib.Value(typeof(string));
val.set_string("toto");
(mux as TagSetter).add_tag_value(TagMergeMode.REPLACE_ALL,"album",val);
var sink = ElementFactory.make("filesink","sink");
sink.set("location","new_mp3.mp3");
pipe.add_many(src,mux,sink);
src.link(mux);
mux.link(sink);
pipe.set_state(State.PLAYING);
new MainLoop().run();
}
le programme prend en paramètre un fichier audio, puis génère un deuxième fichier (pour éviter de corrompre votre media original).