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