在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例多媒体编程 → 杰理6921蓝牙音频播放器

杰理6921蓝牙音频播放器

多媒体编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:20.40M
  • 下载次数:3
  • 浏览次数:34
  • 发布时间:2024-12-19
  • 实例类别:多媒体编程
  • 发 布 人:豪声科技
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 音频播放 播放器 21 蓝牙 音频

实例介绍

【实例简介】

支持IIS输出,支持OLED显示屏

【实例截图】

/********************************************************************************/
//------------------------------蓝牙类配置
/********************************************************************************/
#include "bluetooth/bluetooth_api.h"

///可选配置:0(普通音箱)/BT_TWS_TRANSMIT(对箱使能)
///如果仅作为单机使用,建议不开对箱宏,如果开了对箱宏而且做单机使用会占用基带,单机使用性能没不开对箱宏好
#define BT_TWS                 0// BT_TWS_TRANSMIT////0//BT_TWS_TRANSMIT
#if BT_TWS
#undef  EQ_RUN_SEL
#define EQ_RUN_SEL              EQ_RUN_NULL/*这个宏不修改,其它更多音效设置请在audio_stream.h头文件配置*/
#endif

///蓝牙连接个数选择 1 /2 一拖二
#if BT_TWS
#define BT_CONNTCT_NUM             2
#define BT_TWS_LINEIN              0  //linein 转换成对箱播放
#else
#define BT_CONNTCT_NUM             1
#define BT_TWS_LINEIN              0
#endif

//蓝牙是否开启后台模式
#if (BT_CONNTCT_NUM == 2)
#define BT_BACKGROUND_EN 0
#else
#define BT_BACKGROUND_EN 0
#endif
#if (BT_BACKGROUND_EN== 0)
///<HID拍照的独立模式只支持非后台
#define BT_HID_INDEPENDENT_MODE  0
#endif
//可选配置:NORMAL_MODE/TEST_BQB_MODE/TEST_FCC_MODE/TEST_FRE_OFF_MODE/TEST_BOX_MODE/TEST_PERFOR_MODE
#define BT_MODE           NORMAL_MODE//  NORMAL_MODE      // TEST_PERFOR_MODE

//模拟配置
#define BT_ANALOG_CFG           0
#define BT_XOSC                 0

//蓝牙晶振频偏设置 0x0~0xf//如果频偏为正,把值改大
#define BT_OSC_INTERNAL_L       0x09
#define BT_OSC_INTERNAL_R       0x09

//------------------------------蓝牙低功耗设置
//使能该功能后只能是纯蓝牙功能,没有显示功能

//可选配置:SNIFF_EN/SNIFF_TOW_CONN_ENTER_POWERDOWN_EN
#define SNIFF_MODE_CONF        0// SNIFF_EN
//可选配置:BT_POWER_DOWN_EN/BT_POWER_OFF_EN
#define BT_LOW_POWER_MODE      0// BT_POWER_DOWN_EN
//可选配置:BT_OSC/RTC_OSCH/RTC_OSCL/LRC_32K
#define LOWPOWER_OSC_TYPE     BT_OSC // LRC_32K
//可选配置:32768L//24000000L//32000L
#define LOWPOWER_OSC_HZ       24000000L//  32000L
//可选配置:BT_BREDR_EN/BT_BLE_EN/(BT_BREDR_EN|BT_BLE_EN)

#if BT_TWS

#undef  SNIFF_MODE_CONF
#define SNIFF_MODE_CONF         0

#undef  BT_LOW_POWER_MODE
#define BT_LOW_POWER_MODE       0

#define BLE_BREDR_MODE          (BT_BREDR_EN)//资源充足的情况,tws 可以开启ble
#else
#define BLE_BREDR_MODE          (BT_BREDR_EN)//|BT_BLE_EN)//资源问题,开了ble,不能开启一拖二
#endif

#if (BLE_BREDR_MODE&BT_BLE_EN)
//可选配置:O--server ,1--client
#define BLE_GAP_ROLE            0
#endif

#define BT_PHONE_NUMBER     0
#define BT_PHONE_VOL_SYNC       0
//需要电量显示但是不需要通话功能
#define BT_HFP_EN_SCO_DIS 0
//播放手机自带来电提示音(前提是手机支持该功能)
#define BT_INBAND_RINGTONE 0
//对箱角色切换,连接手机的设备即为主机
#define BT_TWS_ROLE_SWITCH 1

///对耳主从同时按下配对按键才进行配对
#define    BT_TWS_SCAN_ENBLE        0
///主从连接上,同步播连接成功提示音、sync_led_scan
#define    BT_TWS_SYNC_CON_STATE_ENBLE        0
/********************************************************************************/

【核心代码】

/********************************************************************************/
//------------------------------UI MACRO
/********************************************************************************/
///<LED指示使能
#define LED_EN                  0

#define UI_ENABLE               1
#if (BT_LOW_POWER_MODE || SNIFF_MODE_CONF)            //进低功耗模式 not support ui
#undef  UI_ENABLE
#define UI_ENABLE               1
#endif
///dependency
#if (UI_ENABLE == 1)
#define UI_SEL_BY_RES_EN 0   ///是否通过选屏电阻进行选屏
#define LED_7_EN                0     ///<led 支持
#define LED_1888_EN             0   ///6脚数码管,点烟器一般用这个
#define LCD_128X64_EN           1   ///点阵屏LCD
#else
///都不支持
#define LED_7_EN                0
#define LED_1888_EN             0
#define LCD_128X64_EN           1
#endif

#if (LCD_128X64_EN == 1)
#define LRC_LYRICS_EN 0   ///LRC歌词显示
#else
#define LRC_LYRICS_EN           0
#endif

/********************************************************************************/
//------------------------------系统时钟等配置
/********************************************************************************/
//时钟配置  //more config in clock_interface.h
#define OSC_Hz                  24000000L //fpga:12M / chip:24M

///<SYS_CLK   //不同工作状态的系统时钟选则
#define BT_CALL_Hz         160000000L //phone call clock
#define BT_REC_Hz         192000000L //bt rec clock

#if (EQ_RUN_SEL == EQ_RUN_SW || SPEED_PITCH_EN || ECHO_EN )    //Software EQ need Run 192M
#define MUSIC_DECODE_Hz         192000000L
#define SYS_Hz             192000000L  //120000000L//96000000L
#else
#define MUSIC_DECODE_Hz         180000000L
#if BT_TWS
#define SYS_Hz             192000000L
#else
#define SYS_Hz             192000000L
#endif
#endif


//#define IIS_SLAVE_MODE ////IIS从机模式
#define IIS_MASTER_MODE ////IIS主机模式
//#define SPDIF_SLAVE_MODE ////SPDIF从机模式


/********************************************************************************/
//------------------------------有冲突的宏处理
/********************************************************************************/
//USB口用于调试时, 关闭USB_DISK/PC功能.
#if ( (defined(__DEBUG) && (DEBUG_UART_SEL == UART1_USB_TXDP_RXDM)) || \
       ( EQ_UART_DEBUG && (EQ_DEBUG_UART_SEL == UART1_USB_TXDP_RXDM) ))
#undef  USB_DISK_EN
#undef  USB_PC_EN
#define USB_DISK_EN             1
#define USB_PC_EN               1
#endif

//调试用的串口 和 EQ在线调试串口冲突
#if ( (defined(__DEBUG) && (DEBUG_UART_SEL == UART1_USB_TXDP_RXDM)) && \
       ( EQ_UART_DEBUG && (EQ_DEBUG_UART_SEL == UART1_USB_TXDP_RXDM) ))
#error "DEBUG_UART_SEL same with EQ_DEBUG_UART_SEL"
#endif

//没有内部收音也没有外部收音时不定义收音模式
#if ( (RDA5807 == 0 ) && (BK1080 == 0 ) && (QN8035 == 0) && (FM_INSIDE==0) )
#undef FM_RADIO_EN
#define FM_RADIO_EN             0
#endif

//没有FM发射芯片的时候不开点烟器的宏
#if ( (QN8007 == 0 ) && (QN8027 == 0 ) )
#undef FMTX_EN
#define FMTX_EN       0
#endif

实例下载地址

杰理6921蓝牙音频播放器

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警