dongyukun
2024-11-05 e8ad669f7c97d45cd23630dc101180a130d6c17e
提交 | 用户 | 时间
ce910c 1 package com.netsdk.lib.enumeration;
H 2
3 /**
4  * @author 47081
5  * @version 1.0
6  * @description
7  * @date 2021/3/2
8  */
9 public enum EM_REAL_DATA_TYPE {
10   EM_REAL_DATA_TYPE_PRIVATE(0, "私有码流"),
11   EM_REAL_DATA_TYPE_GBPS(1, "国标PS码流"),
12   EM_REAL_DATA_TYPE_TS(2, "TS码流"),
13   EM_REAL_DATA_TYPE_MP4(3, "MP4文件"),
14   EM_REAL_DATA_TYPE_H264(4, "裸H264码流"),
15   EM_REAL_DATA_TYPE_FLV_STREAM(5, "流式FLV");
16   private int type;
17   private String desc;
18
19   public int getType() {
20     return type;
21   }
22
23   public String getDesc() {
24     return desc;
25   }
26
27   EM_REAL_DATA_TYPE(int type, String desc) {
28     this.type = type;
29     this.desc = desc;
30   }
31
32   /**
33    * 根据type返回码流类型,默认返回私有码流
34    *
35    * @param type 码流类型
36    * @return
37    */
38   public static EM_REAL_DATA_TYPE getRealDataType(int type) {
39     for (EM_REAL_DATA_TYPE dataType : EM_REAL_DATA_TYPE.values()) {
40       if (dataType.getType() == type) {
41         return dataType;
42       }
43     }
44     return EM_REAL_DATA_TYPE_PRIVATE;
45   }
46
47   /**
48    * 根据码流类型返回枚举,如私有、ps、ts、mp4、h264、flv
49    *
50    * @param streamType
51    * @return
52    */
53   public static EM_REAL_DATA_TYPE getRealDataType(String streamType) {
54     for (EM_REAL_DATA_TYPE dataType : EM_REAL_DATA_TYPE.values()) {
55       if (dataType.getDesc().toLowerCase().contains(streamType.toLowerCase().trim())) {
56         return dataType;
57       }
58     }
59     return EM_REAL_DATA_TYPE_PRIVATE;
60   }
61 }