1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #ifndef AEM_ADAPTER_MEDIA_H
- #define AEM_ADAPTER_MEDIA_H
- #include <stdint.h>
- #include <string.h>
- #include <stdbool.h>
- #if CONFIG_MEDIA
- #include <media_player.h>
- #include <media_mem.h>
- #include "media_type.h"
- #endif
- #define AEM_MEDIA_EVENT_CNT 3
- typedef enum
- {
- AEM_MEDIA_TYPE_NONE,
- AEM_MEDIA_TYPE_TTS,
- AEM_MEDIA_TYPE_MUSIC,
- AEM_MEDIA_TYPE_BT_MUSIC,
- AEM_MEDIA_TYPE_BT_CALL,
- } aem_media_type_e;
- typedef enum
- {
- AEM_MEDIA_STATE_CLOSE,
- AEM_MEDIA_STATE_OPEN,
- AEM_MEDIA_STATE_PLAY,
- AEM_MEDIA_STATE_STOP,
- AEM_MEDIA_STATE_STOP_COMPLETE,
- AEM_MEDIA_STATE_ERROR,
- } aem_media_state_e;
- typedef struct {
- int total_time; /* total time in milliseconds */
- int avg_bitrate; /* average bit reate in kbps */
- int sample_rate; /* sample rate in Hz */
- int channels; /* channels */
- unsigned int file_hdr_len; /* file header(tags) length */
- } aem_media_info_t;
- typedef void (*aem_media_event_cb)(aem_media_type_e type, aem_media_state_e state);
- int aem_adapter_media_play(aem_media_type_e type, char *path, uint32_t time);
- void aem_adapter_media_stop(void);
- int aem_adapter_media_time_offset(void);
- aem_media_state_e aem_adapter_media_get_state(void);
- aem_media_type_e aem_adapter_media_get_type(void);
- aem_media_info_t * aem_adapter_media_info(void);
- void aem_adapter_media_set_volume(aem_media_type_e type, int volume);
- void aem_adapter_media_register_cb(aem_media_event_cb event_cb);
- /**
- * @Description : 获取音乐文件类型
- * @Param : path:音乐文件完整路径
- * @Return : 音乐文件类型
- **/
- uint8_t aem_adapter_get_file_type(const char *path);
- #endif /* AEM_ADAPTER_MEDIA_H */
|