华芯微特开发论坛

 找回密码
 立即注册
搜索
热搜: SWM341 资料
查看: 131|回复: 0

Synwit_UI_Creator_v5.2.0 如何播放音频

[复制链接]

1

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2025-12-13 12:28:01 | 显示全部楼层 |阅读模式
使用这个代码
static void screen01_start(synwit_id_t screen_id)
{
    /* 在界面被显示给用户前,这个接口会被调用。 */
    lv_fs_res_t fs_res;
    lv_fs_file_t file;
    fs_res = lv_fs_open(&file, "S:spi:screen01.bin", LV_FS_MODE_RD);
    if (fs_res == LV_FS_RES_OK)
    {
        dac_init(DAC_FORMAT_8B);
        GPIO_ClrBit(DAC_MUTE_PORT, DAC_MUTE_PIN);
        uint32_t size = 0;
        lv_fs_size(&file, &size);
        wav_buf = lv_mem_alloc(size);
        if(!wav_buf)
        {
            printf("wav_buf malloc err\n");
        }
        lv_fs_read(&file, wav_buf, size, NULL);
        lv_fs_close(&file);
        dac_dma_init((uint32_t)wav_buf, size, DMA_UNIT_BYTE);
        TIMR_Start(TIMR0);
        wav_state = 1;
    }

    // 打开下面的注释可以为本界面开启一个每100ms触发一次的定时器
    //synwit_ui_start_scr_timer(100, NULL);
    // 打开下面的注释可以为本界面开启一个每100ms触发一次的定时器
    //synwit_ui_start_scr_timer(100, NULL);
}
还是可以使用下面代码(这个代码目前未成功播放)
    wav_obj_t *vobj = synwit_wav_open("S:spi:screen01.bin");
    if(vobj != NULL){
      synwit_wav_play(vobj,LV_TASK_PRIO_HIGH);
      printf("synwit_wav_play: %s\n", "sucess");
    }else{
      printf("synwit_wav_play: %s\n", "fail");
    }


回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|华芯微特开发论坛

GMT+8, 2026-9-17 18:35 , Processed in 0.029666 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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