MediaInfAdec.hpp
1 //
2 // Created by xiong on 2023/8/22.
3 //
4 
5 #ifndef EMX_MediaInfAdec_HPP
6 #define EMX_MediaInfAdec_HPP
7 
8 #include "media/common/MediaTypedef.hpp"
9 
10 namespace Emx {
16  class MediaInfAdec {
17  public:
19  struct Param {
21  int32_t bitRate;
22  int32_t sampleRate;
23  int32_t volume;
24  uint8_t bitWidth;
25  };
26 
28  struct Frame {
29  uint64_t tsInUs;
30  uint32_t seq;
31  int32_t size;
32  uint8_t *data;
33  };
34 
36  enum PlayStatusE : uint32_t {
37  Unknown = 0,
40  };
41 
47  virtual ErrCodeE SetVolume(int32_t volume) = 0;
48 
54  virtual ErrCodeE SetVolumeTemp(int32_t volume) = 0;
55 
60  virtual PlayStatusE GetPlayStatus() = 0;
61  };
63 }
64 
65 #endif //EMX_MediaInfAdec_HPP
音频解码
Definition: MediaInfAdec.hpp:16
PlayStatusE
播放状态
Definition: MediaInfAdec.hpp:36
@ Playing
播放中
Definition: MediaInfAdec.hpp:38
@ Finish
播放结束
Definition: MediaInfAdec.hpp:39
@ Unknown
未知
Definition: MediaInfAdec.hpp:37
virtual PlayStatusE GetPlayStatus()=0
获取媒体音频播放状态
virtual ErrCodeE SetVolume(int32_t volume)=0
设置音量
virtual ErrCodeE SetVolumeTemp(int32_t volume)=0
设置临时音量,调用这个接口配置的音量并不会被存储记录,重启后会失效
AudioCodecE
音频编码类型
Definition: MediaTypedef.hpp:26
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10
音频解码帧结构定义(目前未使用MediaFrame结构)
Definition: MediaInfAdec.hpp:28
uint64_t tsInUs
微秒级时间戳
Definition: MediaInfAdec.hpp:29
uint8_t * data
数据内存地址
Definition: MediaInfAdec.hpp:32
int32_t size
数据大小
Definition: MediaInfAdec.hpp:31
uint32_t seq
帧序号
Definition: MediaInfAdec.hpp:30
音频解码持久化参数
Definition: MediaInfAdec.hpp:19
uint8_t bitWidth
采样位宽
Definition: MediaInfAdec.hpp:24
int32_t bitRate
码率
Definition: MediaInfAdec.hpp:21
AudioCodecE codec
编码类型
Definition: MediaInfAdec.hpp:20
int32_t volume
音量大小
Definition: MediaInfAdec.hpp:23
int32_t sampleRate
采样率
Definition: MediaInfAdec.hpp:22