JL杰理蓝牙芯片交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 603|回复: 1

AD16如何实现自定义提示音播放?

[复制链接]

8

主题

0

回帖

58

积分

普通会员

Rank: 3Rank: 3

积分
58
发表于 2023-8-19 17:40:01 | 显示全部楼层 |阅读模式

注册登录,了解更多芯片技术。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问AD16如何实现提示音播放
回复

使用道具 举报

15

主题

20

回帖

330

积分

版主

Rank: 7Rank: 7Rank: 7

积分
330
发表于 2023-8-19 17:42:42 | 显示全部楼层
原厂demo是没有独立的提示音播放函数的,所以需要重新写,具体如下:
  1. void my_tone_play(char* path)
  2. {
  3.     int msg[2], err;
  4.     void *pfs = 0;
  5.     void *pfile = 0;
  6.     dec_obj *obj = 0;
  7.     decoder_init();

  8.     err = fs_mount(&pfs, (void *)NULL, (void *)NULL);
  9.     if (err) {
  10.     log_info("fs_mount err : 0x%x\n", err);
  11.     }
  12.     err = fs_openbypath(pfs, &pfile, path);
  13.     if (err) {
  14.         log_info("fs_openbypath err : 0x%x\n", err);
  15.         fs_fs_close(&pfs);
  16.     }
  17.     obj = decoder_io(pfile, BIT_F1A1, NULL, 0);
  18.     if (NULL == obj) {
  19.         log_info("fs_openbypath err : 0x%x\n", err);
  20.         fs_fs_close(&pfs);
  21.         fs_file_close(&pfile);
  22.     }
  23.     while (1) {
  24.         err = get_msg(2, &msg[0]);
  25.         bsp_loop();
  26.         if (MSG_NO_ERROR != err) {
  27.             msg[0] = NO_MSG;
  28.             log_info("get msg err 0x%x\n", err);
  29.         }
  30.         switch (msg[0]) {
  31.         case MSG_F1A1_FILE_END:
  32.         case MSG_MP3_FILE_END:
  33.         case MSG_WAV_FILE_END:
  34.             decoder_stop(obj, NEED_WAIT, 0);
  35.             goto __tone_over_deal;
  36.             break;
  37.         case MSG_500MS:
  38.         printf("-----tone is playing!!!\n");
  39.             wdt_clear();
  40.             break;
  41.         }
  42.     }
  43. __tone_over_deal:
  44.     printf("-----tone played over!!!\n");
  45. }
复制代码

参数path为要播放的文件的地址
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|JL杰理蓝牙芯片交流论坛 ( 粤ICP备18068352号 )

GMT+8, 2024-10-25 03:21 , Processed in 0.054690 second(s), 22 queries .

Powered by yunthinker云信

© 2001-2023 yunthinker Team.

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