当前位置: 首页 > news >正文

推荐微商城网站建设免费制作的企业网站

推荐微商城网站建设,免费制作的企业网站,栖霞网站设计,wordpress 数据字典1 音乐播放控制 1.1 播放列表更新 文件系统在sd卡中保存header.bin及name.bin两份文件用于歌曲名称的存储。为方便应用层进行歌曲显示及列表管理,可将这两个bin文件信息读取并保存到nor flash中。需要播放指定名称的歌曲时,将对于歌曲名称传递给文件系…

1 音乐播放控制

1.1 播放列表更新

文件系统在sd卡中保存header.bin及name.bin两份文件用于歌曲名称的存储。为方便应用层进行歌曲显示及列表管理,可将这两个bin文件信息读取并保存到nor flash中。需要播放指定名称的歌曲时,将对于歌曲名称传递给文件系统接口,可直接完成歌曲的播放。

uint32_t audio_fs_get_header_list_size(void);

uint32_t audio_fs_get_name_list_size(void);

uint16_t audio_fs_read_header_list(uint32_t offset, uint8_t *readBuf, uint32_t readLen, uint32_t *len);

uint16_t audio_fs_read_name_list(uint32_t offset, uint8_t *readBuf, uint32_t readLen, uint32_t *len);

  • offset,文件偏移地址
  • readBuf,读取数据buffer
  • readLen,期望读取长度
  • len,实际读取长度

header.bin描述歌曲总数及各个歌曲名称在name.bin中的偏移及长度信息。header.bin格式如下。

Count

Reserved

Song info1

Song info2

……

2bytes

4bytes

Sizeof(T_SONG_NAME_INFO)

Sizeof(T_SONG_NAME_INFO)

typedef struct

{

    uint32_t    offset;    //Start offset of the song name

    uint16_t    length;       //Length of the song name

    uint16_t    plIndex;    /*Play List Index, indicate which playlist the song belongs to.

    uint8_t     isDeleted : 1;  /* flag of if song is deleted.1: deleted,0: not deleted */

    uint8_t     needToUnlink : 1;  /* flag of if song need to unlink. */

    uint8_t     extension : 6;

    uint16_t     rsv;            /* Reserve for future usage, should set to "0" */

} __attribute__((packed)) T_SONG_NAME_INFO;

 name.bin保存各个歌曲的名称信息,结合song info中提供的offset和length部分,可以提取到各个歌曲的名称。

Song name 1

Song name 2

……

Name data(Unicode)

Name data(Unicode)

1.2音乐播放控制

T_APP_AUDIO_FS_ERROR app_audio_fs_interface_play_by_name(uint8_t *file_name, uint16_t length)

void app_mmi_handle_action(uint8_t action)

    case IO_MSG_MMI:

        {

            uint8_t action = p_watch_msg->u.param;

            app_mmi_handle_action(action);

        }

        break;

    case IO_MSG_PLAY_BY_NAME:

        {

            if (app_db.usb_status == USB_PLUG_OUT)

            {

                T_SONG_NAME_INFO *play_name = (T_SONG_NAME_INFO *)p_watch_msg->u.param;

                app_audio_fs_interface_play_by_name((uint8_t *)(MUSIC_NAME_BIN_ADDR + play_name->offset), play_name->length);

            }

            else

            {

                APP_PRINT_INFO0("ERROR: USB plug in, disallow play media now!");

            }

        }

        break;

 音频控制,包括播放、暂停、音量调节等,可通过MMI(Man Machine Interface)和app_audio_fs_interface_play_by_name完成播放列表的维护由上层进行切换歌曲时上层只需要控制传入歌曲的名称信息即可MMI命令所定义的action可参考T_MMI_ACTION,已实现的功能参考void app_mmi_handle_action(uint8_t action)

本地播放模式与耳机播放模式下,上层共用MMI命令,底下会做区分。不同模式之间的切换也可通过MMI命令完成。

http://www.yayakq.cn/news/456467/

相关文章:

  • 公司制作网站跟企业文化的关系做企业网站找哪家
  • 注册一个免费的网站吗南京医疗网站建设
  • 品牌推广软文案例湖北seo诊断
  • 阜阳学校网站建设如何制作app推广
  • 百度怎么注册公司网站腕表之家
  • 多少钱网站设计潜江资讯网最新招聘信息
  • 电商 企业网站 福州大鹏网络网站建设报价
  • 设计师作品网站wordpress 手机端主题
  • 廊坊网站制作报价有什么做ppt参考的网站
  • 无锡网站推广哪家公司好wordpress怎么用地图吗
  • 怎么做一个网站多少钱怎样建立网站赚钱
  • 邯郸建设局公开网站成品网站w灬源码16伊园
  • 温州市微网站制作电话晚上睡不着推荐个网站
  • 厦门建设局网站首页6企业网站建设策划书 前言
  • 网站搭建百家号做美缝在哪个网站接单
  • 伊宁市做网站百度只收录网站首页
  • 做网站需要注意WordPress添加前台投稿插件
  • 19年做网站广州网站设计企业
  • 网页游戏网站在线玩学网站建设要多久
  • 有经验的赣州网站建设wordpress前台注册
  • 专业做京东网站吗辽阳网站建设58
  • 建设网站什么软件比较好dedecms调用不同数据库wordpress
  • 做搜狗手机网站点击软网站建设服务类型现状
  • 正规的网站建设公5151ppt网站建设
  • 设计接单网站大全可以做软件的网站有哪些功能
  • 如何在百度上建立网站南京电商网站开发
  • 海棠网站是什么意思wordpress不支持ie9
  • 乐清做网站培训.net网站做优化
  • 网站开发中为什么有两个控制层做网站 域名是怎么回事
  • 望谟网站建设未来5年网络规划设计师