免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3539 | 回复: 3
打印 上一主题 下一主题

mplayer嵌入窗口的刷新为什么这么慢,GUI高手进 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-05 11:42 |只看该作者 |倒序浏览
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=%d\n", gtk_socket_get_id(socket));
  20.     gtk_main ();
  21.     return 0;
  22. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2008-09-05 14:55 |只看该作者
不懂gui,就想知道能嵌入到根窗口中吗? 那样播放起来是个什么样子? 能否贴个抓图?

论坛徽章:
0
3 [报告]
发表于 2008-09-05 15:26 |只看该作者
懒的抓图啦
呵呵
其实就是嵌入到另外一个窗口里
比如在Firefox里播放电影

论坛徽章:
0
4 [报告]
发表于 2008-09-11 14:34 |只看该作者
原帖由 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);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP