public interface DataSource extends DataReader
| 限定符和类型 | 接口和说明 |
|---|---|
static interface |
DataSource.Factory
A factory for
DataSource instances. |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addTransferListener(TransferListener transferListener)
Adds a
TransferListener to listen to data transfers. |
void |
close()
Closes the source.
|
default java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getResponseHeaders()
When the source is open, returns the response headers associated with the last
open(tv.danmaku.ijk.media.drm.upstream.DataSpec)
call. |
android.net.Uri |
getUri()
When the source is open, returns the
Uri from which data is being read. |
long |
open(DataSpec dataSpec)
Opens the source to read the specified data.
|
readvoid addTransferListener(TransferListener transferListener)
TransferListener to listen to data transfers. This method is not thread-safe.transferListener - A TransferListener.long open(DataSpec dataSpec) throws java.io.IOException
Note: If an IOException is thrown, callers must still call close() to ensure
that any partial effects of the invocation are cleaned up.
dataSpec - Defines the data to be read.DataSpec.length equals C.LENGTH_UNSET) this value
is the resolved length of the request, or C.LENGTH_UNSET if the length is still
unresolved. For all other requests, the value returned will be equal to the request's
DataSpec.length.java.io.IOException - If an error occurs opening the source. DataSourceException can be
thrown or used as a cause of the thrown exception to specify the reason of the error.android.net.Uri getUri()
Uri from which data is being read. The returned
Uri will be identical to the one passed open(DataSpec) in the DataSpec
unless redirection has occurred. If redirection has occurred, the Uri after redirection
is returned.Uri from which data is being read, or null if the source is not open.default java.util.Map<java.lang.String,java.util.List<java.lang.String>> getResponseHeaders()
open(tv.danmaku.ijk.media.drm.upstream.DataSpec)
call. Otherwise, returns an empty map.
Key look-up in the returned map is case-insensitive.
void close()
throws java.io.IOException
Note: This method must be called even if the corresponding call to open(DataSpec)
threw an IOException. See open(DataSpec) for more details.
java.io.IOException - If an error occurs closing the source.