VLC学习 第一篇安装环境
来源:互联网 发布:折800官网9.9包邮淘宝 编辑:程序博客网 时间:2024/06/04 18:25
一.从官网下载VLC
二.将里面的SDK 放到qt工程目录下
1.VLC_QT配置
一.从官网下载VLC
二.将里面的SDK 放到qt工程目录下
三.将plugins libvlc.dl, libvlccore.dll放到debug
四.在qt.pro中添加库
LIBS += E:\qt\intel_cup\testVLC\testVLC\lib\libvlc.lib
LIBS += E:\qt\intel_cup\testVLC\testVLC\lib\libvlccore.lib
INCLUDEPATH += E:\qt\intel_cup\testVLC\testVLC\include
五.
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->m_vlcMedia =NULL;
this->m_vlcMplay = NULL;
currentWId = ui->widget->winId();
const char*vlc_args[] ={"-I","dummy","--ignore-config","--extraintf=logger","--verbose=2",};
m_vlcInst = libvlc_new( sizeof(vlc_args)/sizeof(vlc_args[0]),vlc_args );
// m_vlcInst = libvlc_new(sizeof(m_vlcArgs)/sizeof(m_vlcArgs[0]),m_vlcArgs);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_startButton_clicked()
{
// const char*vlc_args[] ={"-I","dummy","--ignore-config","--extraintf=logger","--verbose=2",};
// m_vlcInst = libvlc_new( sizeof(vlc_args)/sizeof(vlc_args[0]),vlc_args );
m_vlcMedia = libvlc_media_new_location(m_vlcInst,ui->UrlEdit->text().toLatin1());
m_vlcMplay = libvlc_media_player_new_from_media(m_vlcMedia);
// libvlc_media_player_set_drawable(m_vlcMplay, (libvlc_drawable_t)currentWId);
libvlc_media_player_set_hwnd(m_vlcMplay,(void*)¤tWId);
//播放
libvlc_media_player_play(m_vlcMplay);
}
void MainWindow::on_closeButton_clicked()
{
if(!m_vlcInst)
{
libvlc_release(m_vlcInst);
}
if(!m_vlcMedia)
{
libvlc_media_release(m_vlcMedia);
}
if(!m_vlcMplay)
{
libvlc_media_player_stop(m_vlcMplay);
}
}
void MainWindow::on_pushButton_clicked()
{
QString fileOpen = QFileDialog::getOpenFileName(this,tr("Load a file"), "~");
fileOpen.replace("/", "\\"); //因为getOpenFileName得到的文件名是类//似于C:/Hello/test.avi,与windows下的路径名不匹配,所以需要这一步转换
/* Stop if something is playing */
//if(&& libvlc_media_player_is_playing(vlcPlayer) )
// stop();
/* New Media */
m_vlcMedia = libvlc_media_new_path(m_vlcInst,fileOpen.toLatin1());
if( !m_vlcMedia )
return;
m_vlcMplay = libvlc_media_player_new_from_media(m_vlcMedia);
libvlc_media_release(m_vlcMedia);
/* Integrate the video in the interface */
#if defined(Q_OS_MAC)
libvlc_media_player_set_nsobject(vlcPlayer, videoWidget->winId());
#elif defined(Q_OS_UNIX)
libvlc_media_player_set_xwindow(vlcPlayer, videoWidget->winId());
#elif defined(Q_OS_WIN)
libvlc_media_player_set_hwnd(m_vlcMplay,(void*)¤tWId);
#endif
//int windid = videoWidget->winId();
//libvlc_media_player_set_xwindow (vlcPlayer, windid );
libvlc_media_player_set_xwindow();
/* And play */
libvlc_media_player_play(m_vlcMplay);
//Set vars and text correctly
//playBut->setText("Pause");
}
成功,既能访问本地,又能访问rtsp
三.将plugins libvlc.dl, libvlccore.dll放到debug
四.在qt.pro中添加库
LIBS += E:\qt\intel_cup\testVLC\testVLC\lib\libvlc.lib
LIBS += E:\qt\intel_cup\testVLC\testVLC\lib\libvlccore.lib
INCLUDEPATH += E:\qt\intel_cup\testVLC\testVLC\include
五.
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->m_vlcMedia =NULL;
this->m_vlcMplay = NULL;
currentWId = ui->widget->winId();
const char*vlc_args[] ={"-I","dummy","--ignore-config","--extraintf=logger","--verbose=2",};
m_vlcInst = libvlc_new( sizeof(vlc_args)/sizeof(vlc_args[0]),vlc_args );
// m_vlcInst = libvlc_new(sizeof(m_vlcArgs)/sizeof(m_vlcArgs[0]),m_vlcArgs);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_startButton_clicked()
{
// const char*vlc_args[] ={"-I","dummy","--ignore-config","--extraintf=logger","--verbose=2",};
// m_vlcInst = libvlc_new( sizeof(vlc_args)/sizeof(vlc_args[0]),vlc_args );
m_vlcMedia = libvlc_media_new_location(m_vlcInst,ui->UrlEdit->text().toLatin1());
m_vlcMplay = libvlc_media_player_new_from_media(m_vlcMedia);
// libvlc_media_player_set_drawable(m_vlcMplay, (libvlc_drawable_t)currentWId);
libvlc_media_player_set_hwnd(m_vlcMplay,(void*)¤tWId);
//播放
libvlc_media_player_play(m_vlcMplay);
}
void MainWindow::on_closeButton_clicked()
{
if(!m_vlcInst)
{
libvlc_release(m_vlcInst);
}
if(!m_vlcMedia)
{
libvlc_media_release(m_vlcMedia);
}
if(!m_vlcMplay)
{
libvlc_media_player_stop(m_vlcMplay);
}
}
void MainWindow::on_pushButton_clicked()
{
QString fileOpen = QFileDialog::getOpenFileName(this,tr("Load a file"), "~");
fileOpen.replace("/", "\\"); //因为getOpenFileName得到的文件名是类//似于C:/Hello/test.avi,与windows下的路径名不匹配,所以需要这一步转换
/* Stop if something is playing */
//if(&& libvlc_media_player_is_playing(vlcPlayer) )
// stop();
/* New Media */
m_vlcMedia = libvlc_media_new_path(m_vlcInst,fileOpen.toLatin1());
if( !m_vlcMedia )
return;
m_vlcMplay = libvlc_media_player_new_from_media(m_vlcMedia);
libvlc_media_release(m_vlcMedia);
/* Integrate the video in the interface */
#if defined(Q_OS_MAC)
libvlc_media_player_set_nsobject(vlcPlayer, videoWidget->winId());
#elif defined(Q_OS_UNIX)
libvlc_media_player_set_xwindow(vlcPlayer, videoWidget->winId());
#elif defined(Q_OS_WIN)
libvlc_media_player_set_hwnd(m_vlcMplay,(void*)¤tWId);
#endif
//int windid = videoWidget->winId();
//libvlc_media_player_set_xwindow (vlcPlayer, windid );
libvlc_media_player_set_xwindow();
/* And play */
libvlc_media_player_play(m_vlcMplay);
//Set vars and text correctly
//playBut->setText("Pause");
}
成功,既能访问本地,又能访问rtsp
三.将plugins libvlc.dl, libvlccore.dll放到debug
四.在qt.pro中添加库
LIBS += E:\qt\intel_cup\testVLC\testVLC\lib\libvlc.lib
LIBS += E:\qt\intel_cup\testVLC\testVLC\lib\libvlccore.lib
INCLUDEPATH += E:\qt\intel_cup\testVLC\testVLC\include
五.
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->m_vlcMedia =NULL;
this->m_vlcMplay = NULL;
currentWId = ui->widget->winId();
const char*vlc_args[] ={"-I","dummy","--ignore-config","--extraintf=logger","--verbose=2",};
m_vlcInst = libvlc_new( sizeof(vlc_args)/sizeof(vlc_args[0]),vlc_args );
// m_vlcInst = libvlc_new(sizeof(m_vlcArgs)/sizeof(m_vlcArgs[0]),m_vlcArgs);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_startButton_clicked()
{
// const char*vlc_args[] ={"-I","dummy","--ignore-config","--extraintf=logger","--verbose=2",};
// m_vlcInst = libvlc_new( sizeof(vlc_args)/sizeof(vlc_args[0]),vlc_args );
m_vlcMedia = libvlc_media_new_location(m_vlcInst,ui->UrlEdit->text().toLatin1());
m_vlcMplay = libvlc_media_player_new_from_media(m_vlcMedia);
// libvlc_media_player_set_drawable(m_vlcMplay, (libvlc_drawable_t)currentWId);
libvlc_media_player_set_hwnd(m_vlcMplay,(void*)¤tWId);
//播放
libvlc_media_player_play(m_vlcMplay);
}
void MainWindow::on_closeButton_clicked()
{
if(!m_vlcInst)
{
libvlc_release(m_vlcInst);
}
if(!m_vlcMedia)
{
libvlc_media_release(m_vlcMedia);
}
if(!m_vlcMplay)
{
libvlc_media_player_stop(m_vlcMplay);
}
}
void MainWindow::on_pushButton_clicked()
{
QString fileOpen = QFileDialog::getOpenFileName(this,tr("Load a file"), "~");
fileOpen.replace("/", "\\"); //因为getOpenFileName得到的文件名是类//似于C:/Hello/test.avi,与windows下的路径名不匹配,所以需要这一步转换
/* Stop if something is playing */
//if(&& libvlc_media_player_is_playing(vlcPlayer) )
// stop();
/* New Media */
m_vlcMedia = libvlc_media_new_path(m_vlcInst,fileOpen.toLatin1());
if( !m_vlcMedia )
return;
m_vlcMplay = libvlc_media_player_new_from_media(m_vlcMedia);
libvlc_media_release(m_vlcMedia);
/* Integrate the video in the interface */
#if defined(Q_OS_MAC)
libvlc_media_player_set_nsobject(vlcPlayer, videoWidget->winId());
#elif defined(Q_OS_UNIX)
libvlc_media_player_set_xwindow(vlcPlayer, videoWidget->winId());
#elif defined(Q_OS_WIN)
libvlc_media_player_set_hwnd(m_vlcMplay,(void*)¤tWId);
#endif
//int windid = videoWidget->winId();
//libvlc_media_player_set_xwindow (vlcPlayer, windid );
libvlc_media_player_set_xwindow();
/* And play */
libvlc_media_player_play(m_vlcMplay);
//Set vars and text correctly
//playBut->setText("Pause");
}
成功,既能访问本地,又能访问rtsp
0 0
- VLC学习 第一篇安装环境
- (react 学习第一篇)react本地环境安装
- 第一篇--安装编译环境
- 第一篇 bootstrap基本环境安装
- 从零开始学swift 第一篇 环境安装
- android学习第一篇:环境搭建
- 学习php第一篇:php环境搭建
- 【OpenCV学习笔记】第一篇 搭建环境
- Golang 学习,第一篇:环境配置
- android学习第一篇 开发环境搭建
- 第一篇、vlc-android之开篇介绍
- oracle学习第一篇:安装【win7+oracle10】
- Linux学习第一篇--安装CentOS7
- Neo4j 第一篇:在Windows环境中安装Neo4j
- Neo4j 第一篇:在Windows环境中安装Neo4j
- Hadoop的学习第一篇(环境准备)
- 第一篇:WDF驱动学习之环境配置
- [OpenCV]第一篇学习日记——环境配置
- div中加入span右对齐后出现换行显示两种解决思路(同行显示,一个居中,一个靠右)
- JAVA基础知识汇总
- fd_set的一些认识
- GIS开源软件集合
- UIView设置背景图片的方法
- VLC学习 第一篇安装环境
- linux指令整理(转载)
- 银河舰17-4通杀德甲3豪门
- 利用Ptrace在Android平台实现应用程序控制
- android 逆向后的smali文件中类名称的修改
- C# 温故而知新:Stream
- js中获取时间new Date()详细介绍
- Spring中的事务传播行为
- solr中facet和group的使用