#include #include "canberra.h" int main(int argc, char *argv[]) { ca_context_t *c; int id = 4711; ca_context_new(&c); /* Initialize a few meta variables for the following play() * calls. They stay valid until they are overwritten with * ca_context_set() again. */ ca_context_puts(c, CA_PROP_APPLICATION_NAME, "An example", CA_PROP_APPLICATION_ID, "org.freedesktop.libcanberra.Test", CA_PROP_MEDIA_LANGUAGE, "de_DE", CA_PROP_EVENT_X11_DISPLAY, getenv("DISPLAY"), NULL); /* .. */ ca_context_put(c, CA_PROP_MEDIA_ICON, "some png data here", 23); ca_context_open(c); /* Signal a sound event. The meta data passed here overwrites the * data set in any previous ca_context_set() calls. */ ca_context_play(c, id, CA_PROP_EVENT_ID, "click-event", CA_PROP_MEDIA_FILENAME, "/usr/share/sounds/foo.wav", CA_PROP_MEDIA_NAME, "Button has been clicked", CA_PROP_MEDIA_ICON_NAME, "clicked", NULL); /* .. */ ca_context_play(c, id, CA_PROP_EVENT_ID, "logout", CA_PROP_MEDIA_FILENAME, "/usr/share/sounds/bar.wav", CA_PROP_MEDIA_NAME, "User has logged of from session", CA_PROP_MEDIA_LANGUAGE, "en_EN", NULL); /* .. */ sleep(1); /* Stops both sounds */ ca_context_cancel(c, id); /* .. */ ca_context_destroy(c); return 0; }