硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2536|回复: 11
收起左侧

[音频视频处理] emwin 不能够播放视频

[复制链接]

9

主题

18

回帖

45

积分

新手上路

积分
45
发表于 2018-10-11 16:56:33 | 显示全部楼层 |阅读模式
我在使用 Emwin 来进行视频播放的时候, 将 emf 文件转化为 C 文件,然后使用 GUI_MOVIE_Show 这个函数来播放,但是在我调试的时候,执行完这个函数并没有什么反应,然后执行完跳到下一句 GUI_Exce 刷新界面的时候,只会出现第一帧图片, 代码使用的是官方例程修改的,在模拟器上可正常运行,不知道这是因为什么原因呢,这边是裸机移植 EMWIN 的.硬件平台是 RT1050
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2018-10-11 17:04:24 | 显示全部楼层
首先保证你的GUIConf.C文件里面定义的动态内存够大。
回复

使用道具 举报

9

主题

18

回帖

45

积分

新手上路

积分
45
 楼主| 发表于 2018-10-11 17:16:58 | 显示全部楼层
本帖最后由 castellan 于 2018-10-11 17:23 编辑

这个就是官方的演示例程,中间的视频播放不出来
IMG_20181011_172222.jpg
回复

使用道具 举报

9

主题

18

回帖

45

积分

新手上路

积分
45
 楼主| 发表于 2018-10-11 17:17:16 | 显示全部楼层
eric2013 发表于 2018-10-11 17:04
首先保证你的GUIConf.C文件里面定义的动态内存够大。


定义的内存应该足够,差不多有 9M ,

    Total RO  Size (Code + RO Data)               790996 ( 772.46kB)
    Total RW  Size (RW Data + ZI Data)           9048076 (8836.01kB)
    Total ROM Size (Code + RO Data + RW Data)     791200 ( 772.66kB)
官方的那个 演示文件,就是播放一团火焰的那个,也还是不能播放出视频
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2018-10-11 17:17:53 | 显示全部楼层
castellan 发表于 2018-10-11 17:17
定义的内存应该足够,差不多有 9M ,

    Total RO  Size (Code + RO Data)               790996 ( 7 ...

我看下你的GUIConf.C文件内容
回复

使用道具 举报

9

主题

18

回帖

45

积分

新手上路

积分
45
 楼主| 发表于 2018-10-11 17:20:22 | 显示全部楼层
eric2013 发表于 2018-10-11 17:17
我看下你的GUIConf.C文件内容
#define GUI_BUFFERS 2
#define GUI_NUMBYTES 4000000U /*! Amount of memory assigned to the emWin library */
#define FRAME_BUFFER_ALIGN 64
#define VRAM_SIZE (LCD_HEIGHT * LCD_WIDTH * LCD_BYTES_PER_PIXEL)

void GUI_X_Config(void)
{
    /* Assign work memory area to emWin */
    GUI_ALLOC_AssignMemory((void *)GUI_MEMORY_ADDR, GUI_NUMBYTES);

    /* Select default font */
    GUI_SetDefaultFont(GUI_FONT_6X8);
}

void GUI_X_Init(void)
{
}

/* Dummy RTOS stub required by emWin */
void GUI_X_InitOS(void)
{
}

/* Dummy RTOS stub required by emWin */
void GUI_X_Lock(void)
{
}

/* Dummy RTOS stub required by emWin */
void GUI_X_Unlock(void)
{
}

/* Dummy RTOS stub required by emWin */
U32 GUI_X_GetTaskId(void)
{
    return 0;
}

void GUI_X_ExecIdle(void)
{
}

GUI_TIMER_TIME GUI_X_GetTime(void)
{
    return 0;
}

void GUI_X_Delay(int Period)
{
    volatile int i;
    for (; Period > 0; Period--)
    {
        for (i = 15; i > 0; i--)
            ;
    }
}

void *emWin_memcpy(void *pDst, const void *pSrc, long size)
{
    return memcpy(pDst, pSrc, size);
}
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2018-10-12 02:14:14 | 显示全部楼层
把你的这个,修改下,改成一个准确点的延迟,
void GUI_X_Delay(int Period)
{
    volatile int i;
    for (; Period > 0; Period--)
    {
        for (i = 15; i > 0; i--)
            ;
    }
}

而下面这个,也要弄一个准确些的时间单位
GUI_TIMER_TIME GUI_X_GetTime(void)
{
    return 0;
}

回复

使用道具 举报

9

主题

18

回帖

45

积分

新手上路

积分
45
 楼主| 发表于 2018-10-12 14:49:55 | 显示全部楼层
eric2013 发表于 2018-10-12 02:14
把你的这个,修改下,改成一个准确点的延迟,
void GUI_X_Delay(int Period)
{

好的,我修改一下, GUI_X_Delay() 这里面是一个延时函数,但是那个 GUI_X_GetTime 这里面的参数是什么呀,是干嘛的呀
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2018-10-12 16:33:08 | 显示全部楼层
castellan 发表于 2018-10-12 14:49
好的,我修改一下, GUI_X_Delay() 这里面是一个延时函数,但是那个 GUI_X_GetTime 这里面的参数是什么呀,是 ...

这个是系统时间基准,你搞个1ms为单位的计数变量放进去进行,32位变量。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2018-10-13 02:37:38 | 显示全部楼层
castellan 发表于 2018-10-12 14:49
好的,我修改一下, GUI_X_Delay() 这里面是一个延时函数,但是那个 GUI_X_GetTime 这里面的参数是什么呀,是 ...

是的,就是楼上所说。
回复

使用道具 举报

9

主题

18

回帖

45

积分

新手上路

积分
45
 楼主| 发表于 2018-10-17 11:56:53 | 显示全部楼层
不好意思,最近几天去弄别的事情去了,今天试了一下,用了一个定时器提供时间参数,就能够播放视频了,谢谢两位大佬了!!!!!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2018-10-18 11:40:03 | 显示全部楼层
castellan 发表于 2018-10-17 11:56
不好意思,最近几天去弄别的事情去了,今天试了一下,用了一个定时器提供时间参数,就能够播放视频了,谢谢 ...

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-8 07:47 , Processed in 0.295169 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表