Как воспроизводить видео до тех пор, пока оно не будет завершено без использования Sleep Function в VLCLIB в VC ++? - PullRequest
0 голосов
/ 25 февраля 2019

Я просто использую приведенный ниже код, но проблема, с которой я сталкиваюсь, заключается в том, что воспроизведение видео в течение только 10 секунд зависит от функции sleep.

libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
libvlc_event_manager_t* em;
inst = libvlc_new (0, NULL);
m = libvlc_media_new_location (inst, "mms://16.56.16.60:5999/Video");
mp = libvlc_media_player_new_from_media (m);
libvlc_media_player_set_media(mp,m);
libvlc_media_player_play (mp);
Sleep(10000);

Как воспроизводить видео доэто закончено без использования функции сна?

Пожалуйста, помогите !!

1 Ответ

0 голосов
/ 25 февраля 2019

Ссылка .

Вам необходимо вызвать эту следующую функцию после воспроизведения мультимедиа.

static void wait_playing(libvlc_media_player_t *mp)
{
    libvlc_state_t state;
    do {
        state = libvlc_media_player_get_state (mp);
    } while(state != libvlc_Playing &&
            state != libvlc_Error &&
            state != libvlc_Ended );

    state = libvlc_media_player_get_state (mp);
    assert(state == libvlc_Playing || state == libvlc_Ended);
}

Обновленный код будет:

.
.
.
libvlc_media_player_set_media(mp,m);
libvlc_media_player_play (mp);
wait_playing (mi);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...