Ракетка: рендеринг видео на холст - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь отобразить видео на панели с помощью racket/gui. Похоже, что библиотека для использования видео. Класс video-player% распространяется на frame%, который не будет содержаться внутри панели, поэтому я предполагаю, что мне нужно использовать видеоплеер-сервер%. Это правильно?

Похоже, что у video-player-server% есть метод set-canvas, который выглядит как то, что я хочу, однако, если я предоставляю ему холст, я получаю сообщение об ошибке, говорящее, что get-video-width не определено на холсте. Есть ли подкласс canvas, который мне не хватает?

Это то, что я придумал до сих пор.

#lang racket/gui                                   

(require video/base video/player)                  

(define video (clip "toystory.mp4"))               

(define video-server (new video-player-server%     
                       (video video)))          

(define (make-video parent)                        
  (define panel (new panel%                        
                   (parent parent)))            

  (define canvas (new canvas%                      
                   (min-width 300)              
                   (parent panel)))         

  ; The problem appears to be with this line                                              
  (send video-server set-canvas canvas)            

  (displayln (send video-server get-fps))          

  panel)                                           

(provide make-video)                               

1 Ответ

0 голосов
/ 03 ноября 2018

Похоже, что video-canvas% выставлено библиотекой видео описано здесь.

...