113 lines
3.3 KiB
C
113 lines
3.3 KiB
C
/**************************************************************************************************
|
|
* Copyright (c) Fenda Technologies Co., Ltd. 2020-2021. All rights reserved.
|
|
* Description: 音乐接口函数
|
|
* Author: ball.caojianguang
|
|
* Create: 2020-5-21
|
|
************************************************************************************************/
|
|
|
|
|
|
#ifndef _USER_MUSIC_SERVER_H_
|
|
#define _USER_MUSIC_SERVER_H_
|
|
|
|
#include "stdint.h"
|
|
#include "ble_protocol.h"
|
|
#include "ble_music_server.h"
|
|
|
|
|
|
typedef enum {
|
|
MUSIC_STATE_UNCONN = 0, //手机未连接
|
|
MUSIC_STATE_DISABLE, //音乐功能未开启
|
|
MUSIC_STATE_GETTING, //正在获取
|
|
MUSIC_STATE_EMPTY, //无播放歌曲
|
|
MUSIC_STATE_PLAYING, //播放中
|
|
MUSIC_STATE_PAUSE //暂停中
|
|
} MusicPlayState;
|
|
|
|
|
|
typedef struct {
|
|
char musicName[128]; //音乐名称
|
|
char artistName[128]; //歌手名称
|
|
uint8_t volume; //音量大小
|
|
uint8_t maxVol; //最大音量
|
|
MusicPlayState playState; //音乐播放状态
|
|
} MusicPlayInfo_t;
|
|
|
|
|
|
//音乐相关自定义数据类型
|
|
enum {
|
|
MUSIC_CTRL = 1, //0x01
|
|
MUSIC_CTRL_MAX,
|
|
};
|
|
|
|
|
|
//音乐播放控制命令
|
|
typedef enum {
|
|
//VICE_MUSIC_OFF = 0, //禁止控制APP音乐播放功能
|
|
//VICE_MUSIC_ON = 1, //打开APP音乐控制功能
|
|
DVICE_MUSIC_PLAY = 1, //播放
|
|
DEVICE_MUSIC_POUSE, //暂停
|
|
DEVICE_MUSIC_PRE, //上一首
|
|
DEVICE_MUSIC_NEXT, //下一首
|
|
DEVICE_MUSIC_INCREASE, //音量+
|
|
DEVICE_MUSIC_DECREASE, //音量-
|
|
DEVICE_STOP_REPORT = 100, //设备终止音乐上报
|
|
DEVICE_MUSIC_TYPE_MAX,
|
|
} DeviceMusicContrlInfo_t;
|
|
|
|
//音乐播放状态
|
|
enum {
|
|
MUISC_INFO_TYPE = 0x01,
|
|
MUSIC_INFO_TYPE_MAX,
|
|
};
|
|
|
|
|
|
//音乐信息
|
|
enum {
|
|
SINGER_NAME_TYPE = 0x01,
|
|
SONG_NAME_TYPE,
|
|
PLAY_STATE_TYPE,
|
|
MUSIC_INFO_MAX_TYPE,
|
|
};
|
|
|
|
//手机音量信息
|
|
enum {
|
|
MAX_VOLUME_TYPE = 0x01,
|
|
CURRENT_VOLUME_TYPE,
|
|
VOLUME_TYPE_MAX,
|
|
};
|
|
|
|
|
|
//音乐质量上报或者下载
|
|
enum {
|
|
MUSIC_CONTROL_TYPE = 0x01,
|
|
MUSIC_CONTROL_MAX_TYPE,
|
|
};
|
|
|
|
extern uint8_t app_playState;
|
|
|
|
//音乐播放信息
|
|
void BLE_DeviceMusicContrlSwitch(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
|
|
void AppMusicPlayStatusNotify(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
|
|
void AppDeviceMusicContrlACK(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
|
|
void BLE_DeviceRequestPlayStatusACK(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
|
|
void BLE_DeviceRequestMusicPlayStatusUpload(void);
|
|
void BLE_DeviceMusicContrlCmdUpload(uint8_t music_cmd);
|
|
|
|
/********************************
|
|
* 音乐--4.14 命令ID
|
|
**********************************/
|
|
enum {
|
|
MUSIC_CONTROL_SWITCH_ID = 1, //4.14.1
|
|
DEVICE_REQ_MUSIC_STATUS_ID = 2, //4.14.2
|
|
APP_SEND_MUSIC_INFO_ID = 3, //4.14.3
|
|
CONTROL_MUSIC_COMMAND_UPLOAD_ID, //4.14.4
|
|
APP_SYNCH_COMMAND_ID, //4.14.5
|
|
APP_SEND_PHONE_VOLUME_ID, //4.14.6
|
|
MUSIC_SERVERE_MAX_ID,
|
|
};
|
|
extern const p_func_t MusicServerFunc[MUSIC_SERVERE_MAX_ID];
|
|
extern MusicPlayInfo_t musicPlayInfo;
|
|
|
|
#endif
|
|
|