Agora Java API Reference for Android

Public Member Functions | List of all members
io.agora.mediaplayer.IMediaPlayerCustomDataProvider Interface Reference

## Public Member Functions
int | onReadData (ByteBuffer buffer, int bufferSize)
| The player requests to read the data callback, you need to fill the specified length of data into the buffer. More...
long | onSeek (long offset, int whence)
| The Player seek event callback, you need to operate the corresponding stream seek operation, You can refer to the definition of lseek() at https://man7.org/linux/man-pages/man2/lseek.2.html. More...

## Member Function Documentation

## ◆ onReadData()

int io.agora.mediaplayer.IMediaPlayerCustomDataProvider.onReadData | ( | ByteBuffer | buffer,
|  | int | bufferSize
| ) |  |

The player requests to read the data callback, you need to fill the specified length of data into the buffer.

Parameters

  buf | the buffer pointer that you need to fill data.
  buf_size | the bufferSize need to fill of the buffer pointer.

Returns
  you need return offset value if succeed. return 0 if failed.

## ◆ onSeek()

long io.agora.mediaplayer.IMediaPlayerCustomDataProvider.onSeek | ( | long | offset,
|  | int | whence
| ) |  |

The Player seek event callback, you need to operate the corresponding stream seek operation, You can refer to the definition of lseek() at https://man7.org/linux/man-pages/man2/lseek.2.html.

Parameters

  offset | the value of seek offset.
  whence | the postion of start seeking, the directive whence as follows: 0 - SEEK_SET : The file offset is set to offset bytes. 1 - SEEK_CUR : The file offset is set to its current location plus offset bytes. 2 - SEEK_END : The file offset is set to the size of the file plus offset bytes. 65536 - AVSEEK_SIZE : Optional. Passing this as the "whence" parameter to a seek function causes it to return the filesize without seeking anywhere.

Returns
  whence == 65536, return filesize if you need. whence >= 0 && whence < 3 , return offset value if succeed. return -1 if failed.