- Java中compareTo()、equals()使用详解
- sed s/[0-9][0-9]$/&.5/ datafile
- 数据结构&&算法分析学习qq群41340830
- 使用template关键字
- 组合使用 && 一个地址的多个命令
- printf("0x%x", (&0)[-1])??
- strcmp 出错。
- C prime plus与K&R
- 有关i地址&i的类型问题的疑惑
- SNMP与文件描述符
- #define _MY(name) #name,&name
- 关于BOOST的一个小疑问& 和&&的区别
- 200 PHP sample codeing附带CHM格式PHP函数手册
- LWP::Simple 打开url问题
- 切换用户后, 不产生coredump的问题
- while((pid = waitpid(-1, &stat, WNOHANG)) > ..
- vi中的 &的使用
- 【猎头职位】HP公司—Software Developer&java
- 装gmp-4.2.4出错,请大家帮忙看看!(为了安装Net-S..
- C++的template有点“神奇”
2008-9-5 11:42bleem1998
mplayer嵌入窗口的(9php.com)刷新为什么这么慢,GUI高手进
mplayer有个参数是-wid
可以将mplayer嵌入到某个窗口里
自己写了个简单的(9php.com)GTK窗口
里头放了一个da = gtk_drawing_area_new()
在da播放是没问题
但是屏幕刷新很闪(播放高清电影时)
把gtk_drawing_area_new()换成gtk_socket_new()也是不行
gnome-mplayer这个播放器也是用这种方式调用mplayer来播放
但是它的(9php.com)屏幕就不闪烁
看了半天代码也没看明白
请教高手怎么解决这个问题?
代码大概看起来是这个样子
[code]
#include <stdlib.h>
#include <gtk/gtk.h>
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *socket;
gtk_init (&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
gtk_widget_set_size_request(window, 80, 40);
gtk_window_fullscreen(GTK_WINDOW(window));
gtk_window_set_decorated(GTK_WINDOW(window), FALSE);
socket = gtk_socket_new();
gtk_widget_set_size_request(socket, 1024, 768);
gtk_widget_show (socket);
gtk_container_add (GTK_CONTAINER (window), socket);
gtk_widget_show (window);
g_message("socket_id=%d\n", gtk_socket_get_id(socket));
gtk_main ();
return 0;
}
[/code]
mplayer有个参数是-wid
可以将mplayer嵌入到某个窗口里
自己写了个简单的(9php.com)GTK窗口
里头放了一个da = gtk_drawing_area_new()
在da播放是没问题
但是屏幕刷新很闪(播放高清电影时)
把gtk_drawing_area_new()换成gtk_socket_new()也是不行
gnome-mplayer这个播放器也是用这种方式调用mplayer来播放
但是它的(9php.com)屏幕就不闪烁
看了半天代码也没看明白
请教高手怎么解决这个问题?
代码大概看起来是这个样子
[code]
#include <stdlib.h>
#include <gtk/gtk.h>
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *socket;
gtk_init (&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
gtk_widget_set_size_request(window, 80, 40);
gtk_window_fullscreen(GTK_WINDOW(window));
gtk_window_set_decorated(GTK_WINDOW(window), FALSE);
socket = gtk_socket_new();
gtk_widget_set_size_request(socket, 1024, 768);
gtk_widget_show (socket);
gtk_container_add (GTK_CONTAINER (window), socket);
gtk_widget_show (window);
g_message("socket_id=%d\n", gtk_socket_get_id(socket));
gtk_main ();
return 0;
}
[/code]
2008-9-5 14:55albcamus
不懂gui,就想知道能嵌入到根窗口中吗? 那样播放起来是个什么样子? 能否贴个抓图?
2008-9-5 15:26bleem1998
懒的(9php.com)抓图啦
呵呵
其实就是嵌入到另外一个窗口里
比如在Firefox里播放电影
:mrgreen:
呵呵
其实就是嵌入到另外一个窗口里
比如在Firefox里播放电影
:mrgreen:
2008-9-11 14:34fengshenx
|
关掉DOUBLE BUFFER试试。
GTK_WIDGET_UNSET_FLASG (widget, GTK_WIDGET_DOUBLE_BUFFERED);
[编辑:百家电脑学院] [返回学院首页] [返回上一页] []
·上一篇:如何用GTK在构件中显示一个终端? · 下一篇:怎样得到当前顶层窗口的标题?

