⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpegviewer.c

📁 凌阳SPCE3200 系统开发板随机自带源程序。共安排了32个子目录
💻 C
字号:

#include "JpegViewer.h"
#include "Jpeg_fun.h"

int gl_fp;
extern struct f_info g_stFileTbl[];				//note information of one type files(name,modify time&date,size)
extern U16 g_nFileNum;							//note the number of one type files

U16 JpgFileId = 0;
U16 JpgOldFileId = 1;

U32 JPEG_Init(void)
{
	InitSystem();

	FS_ListFile(".\\Jpg\\*.Jpg");

	SPG_FadeIn(50000);

	return JPEG_PLAY;
}

//======================================//
// 函数名称:JPEG_Play()
// 创建日期:2006-10-9
// 功能描述:解码并播放SD卡中的JPEG文件
// 语法格式:U32 JPEG_Play(void)
// 入口参数:无
// 返回值  :播放控制参数
//======================================//
U32 JPEG_Play(void)
{
	S32 status;
	U32 playflag = JPEG_PLAY;
	U32 delaycnt = 0;
	
	JpgOldFileId++;
	while(1)
	{
		//auto view one by one
		if(JpgOldFileId != JpgFileId)
		{
			JpgOldFileId = JpgFileId;
			//get new file's info
			gl_fp = JPEG_Open_File_SDCard((char*)(&g_stFileTbl[JpgFileId].f_name), O_RDONLY);
			if(-1 == gl_fp)
				while(1);
			status = JPEG_GetFileInfo(gl_fp);
			if(-1 == status)
				while(1);
			JPEG_Close_File_SDCard(gl_fp);
			//show jpg
			gl_fp = JPEG_Open_File_SDCard((char*)(&g_stFileTbl[JpgFileId].f_name), O_RDONLY);
			if(-1 == gl_fp)
				while(1);
			status = JPEG_Read_File_SDCard(gl_fp, g_stFileTbl[JpgFileId].f_size);
			if(-1 == status)
				while(1);
				
			Set_Buffer_MP4_TVE();
			
			if(g_nJpegWidth > 320)
			{
				JPEG_Decode(0xa0c00000, TVVGA, TVNON_INTL, TV_Out);
			}				
			else
			{
				JPEG_Decode(0xa0c00000, TVQVGA, TVNON_INTL, TV_Out);
			}	
			JPEG_Close_File_SDCard(gl_fp);
		}

		if(playflag == JPEG_PLAY)
		{	
			delaycnt++;
		}
		
		if(delaycnt > 1000000)
		{
			delaycnt = 0;
			JpgFileId ++;
			if(JpgFileId > g_nFileNum-1)
				JpgFileId = 0;
		}
	}

	return JPEG_STOP;
}

//======================================//
// 函数名称:CS_JpegViewer()
// 创建日期:2006-10-9
// 功能描述:调用初始化函数,随后调用JPEG文件播放接口函数
// 语法格式:U32 CS_JpegViewer(void)
// 入口参数:无
// 返回值  :播放状态参数
//======================================//
U32 CS_JpegViewer(void)
{
	U32 nJpeg_State;
	U16 i;

	nJpeg_State = JPEG_INIT;

	while(1)
	{
		switch(nJpeg_State)
		{
		case JPEG_INIT:
			nJpeg_State = JPEG_Init();
			break;
		case JPEG_PLAY:
			nJpeg_State = JPEG_Play();
			break;
		case JPEG_EXIT:
			SPG_FadeOutBlack(50000);
			break;
		default:
			break;
		}
	}
	
	return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -