[Allegro 5] Obsługa video w allegro 5
Ostatnio zmodyfikowano 2016-12-12 13:59
criserb Temat założony przez niniejszego użytkownika |
[Allegro 5] Obsługa video w allegro 5 » 2016-12-11 19:57:20 Witam. Chciałbym obsłużyć video w allegro 5 za pomocą Video streaming addon lecz nie wiem jak to zrobić. void splash_screen( void ) { ALLEGRO_VIDEO * splash_vid = al_open_video( "vid.ogv" ); ALLEGRO_MIXER * mixer = al_create_mixer( 44100, ALLEGRO_AUDIO_DEPTH_FLOAT32, ALLEGRO_CHANNEL_CONF_2 ); al_set_new_bitmap_flags( ALLEGRO_VIDEO_BITMAP ); ALLEGRO_BITMAP * bitmap; std::cout << al_is_video_playing( splash_vid ); ALLEGRO_EVENT_QUEUE * vid_event_queue = al_create_event_queue(); al_register_event_source( vid_event_queue, al_get_video_event_source( splash_vid ) ); al_start_video( splash_vid, mixer ); bool done = false; while( !done ) { ALLEGRO_EVENT vid_ev; al_wait_for_event( vid_event_queue, & vid_ev ); if( vid_ev.type == ALLEGRO_EVENT_VIDEO_FRAME_SHOW ) { bitmap = al_get_video_frame( splash_vid ); al_set_target_backbuffer( display ); al_draw_bitmap( bitmap, 0, 0, 0 ); al_flip_display(); std::cout << __LINE__ << ' ' << __FILE__ << std::endl; al_clear_to_color( al_map_rgb( 0, 0, 0 ) ); } else if( vid_ev.type == ALLEGRO_EVENT_VIDEO_FINISHED ) { done = true; break; } std::cout << __LINE__ << ' ' << __FILE__ << std::endl; } al_destroy_event_queue( vid_event_queue ); al_close_video( splash_vid ); al_destroy_mixer( mixer ); } Moja kolejka jest pusta i cały czas mam czarny ekran. Proszę o pomoc w sprawieniu aby to zadziałało. Display i inicjalizacja dodatków znajduję się w funkcji main, jeśli trzeba to powklejam. Link do video: http://www79.zippyshare.com/v/d1HOqKmJ/file.html |
|
j23 |
» 2016-12-12 10:25:14 A pewny jesteś, że plik Ci się załadował? |
|
criserb Temat założony przez niniejszego użytkownika |
» 2016-12-12 13:59:08 Tak, sprawdzałem. |
|
« 1 » |