qt播放器,qt播放器全称
qt格式用什么播放器
QT格式的文件需要用Qucktime播放器来播放. 但如果你要想能一般的播放器能放的话就把视频格式转换一下,我博客里有一个万视频转换器,可以去下载
记得采纳啊
怎样用QT编写一个视频播放器
它能播放几乎所有流行的音频和视频格式,相对其它播放器来说,资源占用非常少,不需要任何系统解码器就可以播放各种媒体格式,对于MPEG/XviD/DivX格式的文件支持尤其好,不仅拖动播放速度快得不可思议,而且播放破损文件时的效果也好得出奇,在低配置的机器上使用更是能凸显优势。MPlayer 本身编译自带了多种类型的解码器,不需要再安装xvid、ffdshow、ac3 filter、ogg、vobsub等等所谓看DVDrip必备解码器,也不会跟你的电脑原来所安装的解码器有任何冲突。 它支持大多数的媒体格式如: MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, Ogg/OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM 和 RoQ 文件。还能观看 VCD, SVCD, DVD, 3ivx, DivX 3/4/5, 甚至 WMV 电影。MPlayer 广泛地支持音视频输出驱动。它不仅可以使用 X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB, Quartz, Mac OS X CoreVideo, 也能使用 GGI, SDL (及它们的所有驱动), 所有 VESA 兼容显卡上的 VESA (甚至不需要 X11), 某些低级的显卡相关的驱动 (如 Matrox, 3dfx 及 ATI) 和一些硬件 MPEG 解码器卡, 比如 Siemens DVB, Hauppauge PVR (IVTV), DXR2 和 DXR3/Hollywood+。它们中绝大多数支持软件或硬件缩放, 所以你可以享受全屏电影。MPlayer 具有 OSD(屏上显示) 功能显示状态信息, 有抗锯齿带阴影的漂亮大字幕和键盘控制的可视反馈。
用QT编写一个简易播放器 滑条代码怎么做 要求播放完成后停在最后
其实是很简单的一件事情,根据播放器的时间不停止的设置滑块就是了
我以前开发过一个利用mplayer做播放器的软件
下面是播放的部分代码
void?SuperPlayer::Play(const?QString?filename,?QWidget?*playarea){
????process_player-kill();
????if(filename.isNull())
????{
????????return?;
????}
????if(!playarea)
????{
????????playarea?=?this-label_movie;
????}
????this-process_player?=?new?QProcess(this);
????QString?play_args?=?PLAYER_MAIN_PATH;
????play_args?+=?PLAYER_PLAY_PARA;
????play_args?+=?filename?+?PLAYER_PLAY_OTHER_PARA;
????play_args?+=?QString::number(playarea-winId());
????process_player-setProcessChannelMode(QProcess::MergedChannels);
????this-process_player-start(play_args);
????connect(this-process_player,?SIGNAL(readyReadStandardOutput()),?this,?SLOT(PlayerDataRead()));
????connect(this-process_player,?SIGNAL(finished(int,QProcess::ExitStatus)),?this,?SLOT(PlayerFinished(int,QProcess::ExitStatus)));
????this-process_player-write("get_time_length\n");
????this-process_player-write("volume?60?2\n");
}
程序获取一个文件路径,然后组合出来参数调用外部进程,这个播放器的接口很不错,当前readyReadStandardOutput
这个信号发出的时候就说明播放器的播放就开始了,然后我们在我们的槽函数PlayerDataRead里面
void?SuperPlayer::PlayerDataRead(void){
????QString?tmp;
????this-process_player-write("get_time_pos\n");
????while(process_player-canReadLine())
????{
????????QByteArray?byte=process_player-readLine();
????????byte.replace(QByteArray("\n"),QByteArray(""));
????????if(byte.startsWith("ANS_TIME_POSITION"))
????????{
????????????tmp?=?QString(byte);
????????????this-slider_time-setValue(tmp.mid(18).toFloat());
????????????this-label_time-setText(QString::number(this-slider_time-maximum()?-
???????????????????????????????????????tmp.mid(18).toFloat())?+?"S"?);
????????}
????????else?if((byte.startsWith("ANS_LENGTH")))
????????{
????????????tmp?=?QString(byte);
????????????this-slider_time-setRange(0,?tmp.mid(11).toFloat());
????????????this-slider_time-setValue(0);
????????}
????}
}
我们利用播放器的接口不断的获取时间,然后设置对应的时间进度条,
基本就是这个逻辑