• 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| typedef struct [OH_AVSource](#oh_avsource) [OH_AVSource](#oh_avsource) | 为媒体资源接口定义native层对象。  |
28
29
30### 函数
31
32| 名称 | 描述 |
33| -------- | -------- |
34| [OH_AVSource](#oh_avsource) \* [OH_AVSource_CreateWithURI](#oh_avsource_createwithuri) (char \*uri) | 为统一资源标识符对应的的资源对象创建OH_AVSource实例对象。 |
35| [OH_AVSource](#oh_avsource) \* [OH_AVSource_CreateWithFD](#oh_avsource_createwithfd) (int32_t fd, int64_t offset, int64_t size) | 为文件描述符对应的资源对象创建OH_AVSource实例对象。 |
36| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVSource_Destroy](#oh_avsource_destroy) ([OH_AVSource](#oh_avsource) \*source) | 销毁OH_AVSource实例并清理内部资源。 |
37| [OH_AVFormat](_core.md#oh_avformat) \* [OH_AVSource_GetSourceFormat](#oh_avsource_getsourceformat) ([OH_AVSource](#oh_avsource) \*source) | 获取媒体资源文件的基础信息。 |
38| [OH_AVFormat](_core.md#oh_avformat) \* [OH_AVSource_GetTrackFormat](#oh_avsource_gettrackformat) ([OH_AVSource](#oh_avsource) \*source, uint32_t trackIndex) | 获取轨道的基础信息。 |
39
40
41## 类型定义说明
42
43
44### OH_AVSource
45
46```
47typedef struct OH_AVSource OH_AVSource
48```
49**描述**
50为媒体资源接口定义native层对象。
51
52**起始版本:** 10
53
54
55## 函数说明
56
57
58### OH_AVSource_CreateWithFD()
59
60```
61OH_AVSource* OH_AVSource_CreateWithFD (int32_t fd, int64_t offset, int64_t size)
62```
63
64**描述**
65
66为文件描述符对应的资源对象创建OH_AVSource实例对象。
67
68可以通过调用OH_AVSource_Destroy释放实例。
69
70该接口如果传入offset不为文件起始位置,或size不为文件大小时,可能会因数据获取不完整导致 OH_AVSource创建失败、后续解封装失败等未定义错误。
71
72**系统能力:** SystemCapability.Multimedia.Media.Spliter
73
74**起始版本:** 10
75
76**参数:**
77
78| 名称 | 描述 |
79| -------- | -------- |
80| fd | 数据资源的文件描述符。 |
81| offset | 开始读取数据的位置。 |
82| size | 文件的字节数大小。 |
83
84**返回:**
85
86返回一个指向OH_AVSource实例的指针。
87
88
89### OH_AVSource_CreateWithURI()
90
91```
92OH_AVSource* OH_AVSource_CreateWithURI (char *uri)
93```
94
95**描述**
96
97为统一资源标识符对应的的资源对象创建OH_AVSource实例对象,可以通过调用OH_AVSource_Destroy释放实例。
98
99**系统能力:** SystemCapability.Multimedia.Media.Spliter
100
101**起始版本:** 10
102
103**参数:**
104
105| 名称 | 描述 |
106| -------- | -------- |
107| uri | 远程媒体资源的统一资源标识符。 |
108
109**返回:**
110
111返回一个指向OH_AVSource实例的指针。
112
113
114### OH_AVSource_Destroy()
115
116```
117OH_AVErrCode OH_AVSource_Destroy (OH_AVSource *source)
118```
119
120**描述**
121
122销毁OH_AVSource实例并清理内部资源。
123
124同一实例只能被销毁一次。销毁的实例在被重新创建之前不能再被使用。建议实例销毁成功后将指针置为NULL。
125
126**系统能力:** SystemCapability.Multimedia.Media.Spliter
127
128**起始版本:** 10
129
130**参数:**
131
132| 名称 | 描述 |
133| -------- | -------- |
134| source | 指向OH_AVSource实例的指针。 |
135
136**返回:**
137
138执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅 [OH_AVErrCode](_core.md#oh_averrcode)。
139
140
141### OH_AVSource_GetSourceFormat()
142
143```
144OH_AVFormat* OH_AVSource_GetSourceFormat (OH_AVSource *source)
145```
146
147**描述**
148
149获取媒体资源文件的基础信息。
150
151**系统能力:** SystemCapability.Multimedia.Media.Spliter
152
153**起始版本:** 10
154
155**参数:**
156
157| 名称 | 描述 |
158| -------- | -------- |
159| source | 指向OH_AVSource实例的指针。 |
160
161**返回:**
162
163返回媒体资源文件的基础信息。
164
165
166### OH_AVSource_GetTrackFormat()
167
168```
169OH_AVFormat* OH_AVSource_GetTrackFormat (OH_AVSource *source, uint32_t trackIndex)
170```
171
172**描述**
173
174获取轨道的基础信息。
175
176**系统能力:** SystemCapability.Multimedia.Media.Spliter
177
178**起始版本:** 10
179
180**参数:**
181
182| 名称 | 描述 |
183| -------- | -------- |
184| source | 指向OH_AVSource实例的指针。 |
185| trackIndex | 需要获取信息的轨道的索引。 |
186
187**返回:**
188
189返回轨道的基础信息。
190