• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AVSource
2
3
4## 概述
5
6AVSource模块提供用于构造音视频资源对象功能的函数。
7
8**系统能力:** SystemCapability.Multimedia.Media.Spliter
9
10**起始版本:** 10
11
12
13## 汇总
14
15
16### 文件
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [native_avsource.h](native__avsource_8h.md) | 声明用于音视频解封装的Native API。 |
21
22
23### 函数
24
25| 名称 | 描述 |
26| -------- | -------- |
27| OH_AVSource \* [OH_AVSource_CreateWithURI](#oh_avsource_createwithuri) (char \*uri) | 为统一资源标识符对应的的资源对象创建OH_AVSource实例对象。 |
28| OH_AVSource \* [OH_AVSource_CreateWithFD](#oh_avsource_createwithfd) (int32_t fd, int64_t offset, int64_t size) | 为文件描述符对应的资源对象创建OH_AVSource实例对象。 |
29| [OH_AVErrCode](_core.md#oh_averrcode)[OH_AVSource_Destroy](#oh_avsource_destroy) (OH_AVSource \*source) | 销毁OH_AVSource实例并清理内部资源。 |
30| OH_AVFormat \* [OH_AVSource_GetSourceFormat](#oh_avsource_getsourceformat) (OH_AVSource \*source) | 获取媒体资源文件的基础信息。 |
31| OH_AVFormat \* [OH_AVSource_GetTrackFormat](#oh_avsource_gettrackformat) (OH_AVSource \*source, uint32_t trackIndex) | 获取轨道的基础信息。 |
32
33
34## 函数说明
35
36
37### OH_AVSource_CreateWithFD()
38
39```
40OH_AVSource* OH_AVSource_CreateWithFD (int32_t fd, int64_t offset, int64_t size)
41```
42
43**描述**
44
45为文件描述符对应的资源对象创建OH_AVSource实例对象。
46
47可以通过调用OH_AVSource_Destroy释放实例。
48
49该接口如果传入offset不为文件起始位置,或size不为文件大小时,可能会因数据获取不完整导致 OH_AVSource创建失败、后续解封装失败等未定义错误。
50
51**系统能力:** SystemCapability.Multimedia.Media.Spliter
52
53**起始版本:** 10
54
55**参数:**
56
57| 名称 | 描述 |
58| -------- | -------- |
59| fd | 数据资源的文件描述符。 |
60| offset | 开始读取数据的位置。 |
61| size | 文件的字节数大小。 |
62
63**返回:**
64
65返回一个指向OH_AVSource实例的指针。
66
67
68### OH_AVSource_CreateWithURI()
69
70```
71OH_AVSource* OH_AVSource_CreateWithURI (char *uri)
72```
73
74**描述**
75
76为统一资源标识符对应的的资源对象创建OH_AVSource实例对象,可以通过调用OH_AVSource_Destroy释放实例。
77
78**系统能力:** SystemCapability.Multimedia.Media.Spliter
79
80**起始版本:** 10
81
82**参数:**
83
84| 名称 | 描述 |
85| -------- | -------- |
86| uri | 远程媒体资源的统一资源标识符。 |
87
88**返回:**
89
90返回一个指向OH_AVSource实例的指针。
91
92
93### OH_AVSource_Destroy()
94
95```
96OH_AVErrCode OH_AVSource_Destroy (OH_AVSource *source)
97```
98
99**描述**
100
101销毁OH_AVSource实例并清理内部资源。
102
103同一实例只能被销毁一次。销毁的实例在被重新创建之前不能再被使用。建议实例销毁成功后将指针置为NULL。
104
105**系统能力:** SystemCapability.Multimedia.Media.Spliter
106
107**起始版本:** 10
108
109**参数:**
110
111| 名称 | 描述 |
112| -------- | -------- |
113| source | 指向OH_AVSource实例的指针。 |
114
115**返回:**
116
117执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅 [OH_AVErrCode](_core.md#oh_averrcode)。
118
119
120### OH_AVSource_GetSourceFormat()
121
122```
123OH_AVFormat* OH_AVSource_GetSourceFormat (OH_AVSource *source)
124```
125
126**描述**
127
128获取媒体资源文件的基础信息。
129
130**系统能力:** SystemCapability.Multimedia.Media.Spliter
131
132**起始版本:** 10
133
134**参数:**
135
136| 名称 | 描述 |
137| -------- | -------- |
138| source | 指向OH_AVSource实例的指针。 |
139
140**返回:**
141
142返回媒体资源文件的基础信息。
143
144
145### OH_AVSource_GetTrackFormat()
146
147```
148OH_AVFormat* OH_AVSource_GetTrackFormat (OH_AVSource *source, uint32_t trackIndex)
149```
150
151**描述**
152
153获取轨道的基础信息。
154
155**系统能力:** SystemCapability.Multimedia.Media.Spliter
156
157**起始版本:** 10
158
159**参数:**
160
161| 名称 | 描述 |
162| -------- | -------- |
163| source | 指向OH_AVSource实例的指针。 |
164| trackIndex | 需要获取信息的轨道的索引。 |
165
166**返回:**
167
168返回轨道的基础信息。
169