YStartPlaySoundObject(3) sound object playing


#include <Y2/Y.h>
#include <Y2/Ylib.h>

YID YStartPlaySoundObject(

        YConnection *connection,

        const char *path,

        YEventSoundPlay *value


Specifies the connection to the Y server, obtained by a call to YOpenConnection.
Specifies the path (in UNIX path notation) to the sound object on the VFS (virtual file system) of the machine that the Y server is running on. If the path is not absolute, then a set of search paths defined on the Y server will be searched through.
Specifies the values of the sound object at the start of the play. See YEventSoundPlay for more information about this structure.


The YStartPlaySoundObject function begins playing a sound object specified by path with the given values.

On success a YSoundObjectPlay event will be generated.


The YStartPlaySoundObject function returns the YID of the sound object being played or YIDNULL on failure. The returned YID represents the playing instance of the sound object (not the sound object's file data).

At any time YDestroyPlaySoundObject can be called to stop the play of the sound object.

When this sound object stops playing (either when it reaches the end of its life cycle or interrupted by the Y client) a YSoundObjectKill event will be sent to the Y client.


#include <stdio.h>
#include <unistd.h>
#include <Y2/Y.h>
#include <Y2/Ylib.h>

int main(int argc, char *argv[])

        YID yid;

        YEventSoundPlay value;

        YConnection *con = YOpenConnection(




        if(con == NULL)


        value.flags = (YPlayValuesFlagPosition |

                       YPlayValuesFlagTotalRepeats |


        value.position = 0;

        value.total_repeats = 1;

        value.left_volume = 1.0;

        value.right_volume = 1.0;

        yid = YStartPlaySoundObject(
                con, "/usr/share/sounds/info.wav", &value


        YDestroyPlaySoundObject(con, yid);

        YCloseConnection(con, False);