mplayer嵌入窗口的刷新为什么这么慢,GUI高手进

发布于 2022-08-17 00:04:58 字数 1616 浏览 11 评论 3

mplayer有个参数是-wid
可以将mplayer嵌入到某个窗口里
自己写了个简单的GTK窗口
里头放了一个da = gtk_drawing_area_new()
在da播放是没问题
但是屏幕刷新很闪(播放高清电影时)
把gtk_drawing_area_new()换成gtk_socket_new()也是不行
gnome-mplayer这个播放器也是用这种方式调用mplayer来播放
但是它的屏幕就不闪烁
看了半天代码也没看明白
请教高手怎么解决这个问题?

代码大概看起来是这个样子

  1. #include <stdlib.h>
  2. #include <gtk/gtk.h>
  3. int main( int   argc,          char *argv[] )
  4. {
  5.     GtkWidget *window;
  6.     GtkWidget *vbox;
  7.     GtkWidget *socket;
  8.     gtk_init (&argc, &argv);
  9.     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  10.     //gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
  11.     gtk_widget_set_size_request(window, 80, 40);
  12.     gtk_window_fullscreen(GTK_WINDOW(window));
  13.     gtk_window_set_decorated(GTK_WINDOW(window), FALSE);
  14.     socket = gtk_socket_new();
  15.     gtk_widget_set_size_request(socket, 1024, 768);
  16.     gtk_widget_show (socket);
  17.     gtk_container_add (GTK_CONTAINER (window), socket);
  18.     gtk_widget_show (window);
  19.     g_message("socket_id=%dn", gtk_socket_get_id(socket));
  20.     gtk_main ();
  21.     return 0;
  22. }

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

春夜浅 2022-08-17 08:50:31

原帖由 bleem1998 于 2008-9-5 11:42 发表
mplayer有个参数是-wid
可以将mplayer嵌入到某个窗口里
自己写了个简单的GTK窗口
里头放了一个da = gtk_drawing_area_new()
在da播放是没问题
但是屏幕刷新很闪(播放高清电影时)
把gtk_drawing_area_new( ...

关掉DOUBLE BUFFER试试。
GTK_WIDGET_UNSET_FLASG (widget, GTK_WIDGET_DOUBLE_BUFFERED);

国产ˉ祖宗 2022-08-17 07:20:06

懒的抓图啦
呵呵
其实就是嵌入到另外一个窗口里
比如在Firefox里播放电影

烟织青萝梦 2022-08-17 06:20:49

不懂gui,就想知道能嵌入到根窗口中吗? 那样播放起来是个什么样子? 能否贴个抓图?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文