本文共 612 字,大约阅读时间需要 2 分钟。
1、FFmpeg和SDL整合实现视频播放器
整合后没有之前的读文件和写文件过程
SDL_UpdateTexture函数的第四个参数是一行像素数据所占的数据量,pFrameYUV->data[0]是存储的YUV数据
SDL_CreatorTexture是显示YUV的纹理的宽和高必须是YUV数据的宽和高
2、脱离开发环境
(1)不想在开发环境运行,像执行普通程序那样运行。找到生成的执行文件在哪里。每点一次编译都会生成exe文件。这个文件在项目目录外层目录(解决方案目录)里面的debug里。但是直接点开无法使用
因为我们在程序中用到的动态库(后缀为.dll)在编译时不能编译到可执行程序(.exe)的内部的.所有我们想运行这个程序,必须把这些库拷贝到和他相同的目录里面,还需要拷贝视频文件。
命令行运行程序(有无exe均可)
(2)之前的播放器只能播放特定的视频,让播放器读取我们传入的参数(argv)
argc是存储参数的格式,argv是里面的数组,
在使用命令行时,可以打开绝对路径,也可以打开相对路径
或char*filepath=argv[1];
(3)补充
改成argv后就不能直接在开发环境运行啦,直接运行在开发环境中没有给argv传任何的参数,所以它的值是空的,空的值赋给filepath就是没告诉他要解哪个文件。这样运行打开的话程序就会报错。
(4)在编译环境里面运行(输入文件名和命令行参数的效果是一样的)