找回密码
 注册
搜索
查看: 1192|回复: 7

[讨论] MTK25 用image sensor做甩屏功能之后 设置墙纸失效

[复制链接]
发表于 2009-8-19 19:19:00 | 显示全部楼层 |阅读模式
小弟有个项目最近在用摄像头实现甩屏功能,即用image sensor取代G_sensor。

成功移植代码之后,发现甩MP3功能正常。

但是甩屏的时候,功能不正常。

手机系统包含有9张图片,其中1张是主题图片(ID号没有跟其他8张图片连续在一起)

做trace之后,发现不正常表现为以下现象:
1、现在每一次甩屏之后,image sensor这边已经将下一张的image ID传递出来。并且每一个image ID按照严格的顺序出来。这样应该可以说明甩屏的算法没有问题,甩屏算法只是一个接口,实现甩屏功能时将image ID传递给底层。
2、每次甩屏之后,发现UI上面的image ID参数已经变化,但是在LCD上面没有显示出相应image ID的图片。这跟墙纸设置或者屏显示有关系吗?
3、以下是ID号的变化顺序

11411
11410
11409
11408
11407
11406
11405
11404
11785     //甩屏    11785这个ID就是主题图片的ID。  只有跳到这个ID时才能实现甩屏。


这到底是哪里出了问题啊??
[em03]


麻烦高手帮忙下
发表于 2009-8-19 23:35:00 | 显示全部楼层
小弟,请把自己写的代码发出来,让哥看下!或许能够帮上忙!
点评回复

使用道具 举报

发表于 2009-8-20 09:28:00 | 显示全部楼层
// 换墙纸的函数,写到idleapp.c里面,在收到换墙纸的消息后调用此函数:
void mmi_wallpaper_next_imgid(void)
{
        U8 wp_item_amount = GetCurrentSysWallpaperInfo();

        if( g_phnset_cntx_p->curHightlightItem >= wp_item_amount -1 )
        {
                g_phnset_cntx_p->curHightlightItem = 0;
                if( SetUserDefineWallpaper() == 1 ) // set user define fail
                {
                        g_phnset_cntx_p->curHightlightItem = -1;
                        return;
                }
        }
        else
        {
                g_phnset_cntx_p->curHightlightItem++;
        }
        PhnsetSetWallpaperByImgID(g_phnset_cntx_p->SysWPSSList[g_phnset_cntx_p->curHightlightItem]);

}

// 写到wallpaper.c里面,共识获取当前的墙纸信息的一个wrapper,主要是为了g_phnset_cntx_p->wpss_type = MMI_PHNSET_TYPE_WP;句话,否则就会出现问题;
U8 GetCurrentSysWallpaperInfo(void)
{
        U8  ret ;
        g_phnset_cntx_p->wpss_type = MMI_PHNSET_TYPE_WP;
        ret = PhnsetConstSysWallpaperList( NULL, g_phnset_cntx_p->SysWPSSList, (U16*) & (g_phnset_cntx_p-curHightlightItem));
        return ret ;
}

// 写到wallpaper.c里面,用来设置用户自定义的墙纸
U8  SetUserDefineWallpaper(void)
{
        if (mmi_fmgr_util_file_limit_check(FMGR_LIMIT_WALLPAPER, (PS8) phnset_wpss_filename.wallpaper, &error_str_ptr))
        {
            g_phnset_cntx_p->isShort = phnset_wpss_filename.isWPShort;
            PhnsetSetWallpaperByFileName((S8*) phnset_wpss_filename.wallpaper);
              return 1;
        }
          return 0;
}

希望对你有帮助!
点评回复

使用道具 举报

 楼主| 发表于 2009-8-20 12:50:00 | 显示全部楼层
[em01]非常感谢,我试下
点评回复

使用道具 举报

发表于 2009-8-23 00:59:00 | 显示全部楼层
用Image Sensor代替G Sensor,那是不是一直要把Camera功能打开?
点评回复

使用道具 举报

发表于 2009-8-23 01:02:00 | 显示全部楼层
能否把基本原理讲一下?谢谢了!
点评回复

使用道具 举报

 楼主| 发表于 2009-8-31 11:49:00 | 显示全部楼层
需要让camera一直工作
在待机界面和播放MP3时让其工作
屏暗下来之后就让camera停止工作。

现在市场上image sensor 做甩屏的算法基本是判断曝光时间或者亮度这两种比较多。
貌似原项的sensor说要做图像处理的算法来进行判断,但是可行性感觉比较小
点评回复

使用道具 举报

发表于 2009-9-3 11:00:00 | 显示全部楼层
大多甩屏根据屏幕亮度来做处理的。屏暗以后就关闭甩屏。比较省电,屏亮以后根据条件打开甩屏
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-25 12:17 , Processed in 0.112230 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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