文档中心
互动直播 (Legacy)
API 参考
MediaPlayer Kit Java API Reference
MediaPlayer Kit Java API Reference
|
IMediaPlayerKit | mediaPlayer = null |
|
◆ AgoraMediaPlayerKit()
io.agora.mediaplayer.AgoraMediaPlayerKit.AgoraMediaPlayerKit |
( |
Context |
context | ) |
|
◆ setAudioMode()
static void io.agora.mediaplayer.AgoraMediaPlayerKit.setAudioMode |
( |
MediaPlayerAudioMode |
audioMode | ) |
|
|
static |
设置音频模式。
你可以调用该方法设置 MediaPlayer Kit 使用通话音量或媒体音量:
- 当你同时使用 Agora RTC Native SDK 和 MediaPlayer Kit 时,如果 Native SDK 设置 audio scenario 是 GAME_STREAMING(3),Agora 推荐你设置 MediaPlayer Kit 使用媒体音量,并且同时集成 helper。
- 当你同时使用 Agora RTC Native SDK 和 MediaPlayer Kit 时,如果 Native SDK 设置 audio scenario 不是 GAME_STREAMING(3),Agora 推荐你设置 MediaPlayer Kit 使用通话音量。
- 注解
- 请在 open 前调用该方法。
- 参数
-
◆ open()
int io.agora.mediaplayer.AgoraMediaPlayerKit.open |
( |
String |
src, |
|
|
long |
startPos |
|
) |
| |
打开媒体文件
- 参数
-
src | 设置媒体文件的路径,本地路径或网络路径 |
startPos | 设置起始播放位置 (毫秒),默认值为 0 |
- 返回
-
◆ play()
int io.agora.mediaplayer.AgoraMediaPlayerKit.play |
( |
| ) |
|
◆ pause()
int io.agora.mediaplayer.AgoraMediaPlayerKit.pause |
( |
| ) |
|
暂停播放
如果你想恢复播放,请调用 play() 方法。
- 返回
-
◆ stop()
int io.agora.mediaplayer.AgoraMediaPlayerKit.stop |
( |
| ) |
|
◆ seek()
int io.agora.mediaplayer.AgoraMediaPlayerKit.seek |
( |
long |
pos | ) |
|
定位到媒体文件的指定播放位置
成功调用该方法后,你会收到 onPlayerEvent 回调,报告当前播放器发生的事件,如定位开始、定位成功或定位失败。
- 参数
-
- 返回
-
◆ mute()
int io.agora.mediaplayer.AgoraMediaPlayerKit.mute |
( |
boolean |
mute | ) |
|
◆ isMuted()
boolean io.agora.mediaplayer.AgoraMediaPlayerKit.isMuted |
( |
| ) |
|
获取当前的静音状态
- 返回
- 方法调用成功,返回:
- 方法调用失败,返回
false
◆ adjustPlayoutVolume()
int io.agora.mediaplayer.AgoraMediaPlayerKit.adjustPlayoutVolume |
( |
int |
volume | ) |
|
调节本地播放音量
- 参数
-
volume | 本地播放音量,取值范围从 0 到 100:
- 0: 无声
- 100: (默认)媒体文件的原始播放音量
|
- 返回
-
◆ getPlayoutVolume()
int io.agora.mediaplayer.AgoraMediaPlayerKit.getPlayoutVolume |
( |
| ) |
|
◆ getPlayPosition()
long io.agora.mediaplayer.AgoraMediaPlayerKit.getPlayPosition |
( |
| ) |
|
◆ getDuration()
long io.agora.mediaplayer.AgoraMediaPlayerKit.getDuration |
( |
| ) |
|
◆ getState()
int io.agora.mediaplayer.AgoraMediaPlayerKit.getState |
( |
| ) |
|
◆ getStreamCount()
int io.agora.mediaplayer.AgoraMediaPlayerKit.getStreamCount |
( |
| ) |
|
◆ setView()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setView |
( |
View |
videoView | ) |
|
◆ setRenderMode()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setRenderMode |
( |
int |
mode | ) |
|
◆ getStreamInfo()
MediaStreamInfo io.agora.mediaplayer.AgoraMediaPlayerKit.getStreamInfo |
( |
int |
index | ) |
|
◆ destroy()
int io.agora.mediaplayer.AgoraMediaPlayerKit.destroy |
( |
| ) |
|
◆ registerPlayerObserver()
void io.agora.mediaplayer.AgoraMediaPlayerKit.registerPlayerObserver |
( |
MediaPlayerObserver |
playerObserver | ) |
|
◆ unregisterPlayerObserver()
void io.agora.mediaplayer.AgoraMediaPlayerKit.unregisterPlayerObserver |
( |
MediaPlayerObserver |
playerObserver | ) |
|
◆ registerVideoFrameObserver()
int io.agora.mediaplayer.AgoraMediaPlayerKit.registerVideoFrameObserver |
( |
VideoFrameObserver |
observer | ) |
|
◆ registerAudioFrameObserver()
int io.agora.mediaplayer.AgoraMediaPlayerKit.registerAudioFrameObserver |
( |
AudioFrameObserver |
observer | ) |
|
◆ unregisterVideoFrameObserver()
void io.agora.mediaplayer.AgoraMediaPlayerKit.unregisterVideoFrameObserver |
( |
VideoFrameObserver |
observer | ) |
|
◆ unregisterAudioFrameObserver()
void io.agora.mediaplayer.AgoraMediaPlayerKit.unregisterAudioFrameObserver |
( |
AudioFrameObserver |
observer | ) |
|
◆ setLogFilter()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setLogFilter |
( |
int |
filter | ) |
|
设置日志过滤等级
该方法设置 MediaPlayer Kit 的输出日志过滤等级。不同的过滤等级可以单独或组合使用。日志级别顺序依次为 OFF、 CRITICAL、ERROR、WARNING、INFO 和 DEBUG。选择一个级别,你就可以看到在该级别之前所有级别的 日志信息。 例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所 有日志信息。
- 参数
-
filter | 设置过滤器等级。按照输出日志最全到最少排列:
LOG_FILTER_DEBUG(0x80f) :输出所有的 API 日志。如果你想获取最完整的日志,可将日志级别设为该等级。
LOG_FILTER_INFO(0x0f) :输出 CRITICAL、ERROR、WARNING、INFO 级别的日志。我们推荐你将日志级别设为该等级。
LOG_FILTER_WARNING(0x0e) :仅输出 CRITICAL、ERROR、WARNING 级别的日志。
LOG_FILTER_ERROR(0x0c) :仅输出 CRITICAL、ERROR 级别的日志。
LOG_FILTER_CRITICAL(0x08) :仅输出 CRITICAL 级别的日志。
LOG_FILTER_OFF(0) :不输出任何日志。
|
- 返回
-
◆ setLogFile()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setLogFile |
( |
String |
filePath | ) |
|
设置日志文件
设置 MediaPlayer Kit 的输出 log 文件。MediaPlayer Kit 运行时产生的所有 log 将写入该文件。App 必须保证指定的目录存在而且可写。
- 注解
- 如需调用本方法,请在创建 AgoraMediaPlayerKit 后立即调用,否则可能造成输出日志不完整。
- MediaPlayer Kit 的默认日志路径为
/sdcard/{App 的包名}/agoraplayer.log
。
- 参数
-
filePath | 日志文件的完整路径。该日志文件为 UTF-8 编码 |
- 返回
-
◆ selectAudioTrack()
int io.agora.mediaplayer.AgoraMediaPlayerKit.selectAudioTrack |
( |
int |
index | ) |
|
◆ changePlaybackSpeed()
int io.agora.mediaplayer.AgoraMediaPlayerKit.changePlaybackSpeed |
( |
MediaPlayerPlaybackSpeed |
speed | ) |
|
改变播放速度
打开媒体文件后,你可以调用本方法改变播放速度。
- 参数
-
- 返回
-
◆ setPlayerOption()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setPlayerOption |
( |
String |
key, |
|
|
int |
value |
|
) |
| |
设置 MediaPlayer 私有选项
MediaPlayer Kit 支持通过 key 和 value 来设置私有选项。一般情况下,你无需知晓私有选项设置,使用 Player 默认的选项设置即可。
- 注解
- 请确保在 open 之后调用该方法。
- 参数
-
- 返回
-
◆ setPlayerOptionString()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setPlayerOptionString |
( |
String |
key, |
|
|
String |
value |
|
) |
| |
设置 MediaPlayer 私有选项
MediaPlayer Kit 支持通过 key 和 value 来设置私有选项。一般情况下,你无需知晓私有选项设置,使用 Player 默认的选项设置即可。
- 注解
- 请确保在 open 之后调用该方法。
- 参数
-
- 返回
-
◆ setLoopCount()
int io.agora.mediaplayer.AgoraMediaPlayerKit.setLoopCount |
( |
int |
loopCount | ) |
|
设置循环播放
如果你希望循环播放,请调用该方法并设置循环播放次数。
循环播放结束时,Player 会返回 PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED(6)
。
- 参数
-
◆ switchSrc()
int io.agora.mediaplayer.AgoraMediaPlayerKit.switchSrc |
( |
String |
src, |
|
|
boolean |
syncPts |
|
) |
| |
切换正在播放的媒体资源。
你可以根据当前网络状态调用该方法切换播放的媒体资源。例如,在网络较差时,将播放的媒体资源切换为较低码率的媒体资源地址;在网络较好时,将播放的媒体资源切换为较高码率的媒体资源地址。
调用 switchSrc
后,如果你收到 onPlayerEvent 回调报告事件 PLAYER_EVENT_SWITCH_COMPLETE(9)
,则切换成功;如果你收到 onPlayerEvent 回调报告事件 PLAYER_EVENT_SWITCH_ERROR(10)
,则切换失败。
- 注解
- 请确保在 open 之后调用该方法。
- 为保证播放正常,请在调用
switchSrc(src, true)
时注意如下:
- 不要在播放暂停时调用该方法。
- 不要在切换过程中调用 seek。
- 确保切换前的播放位置不大于待切换的媒体资源总时长。
- 参数
-
src | 待切换的媒体资源 URL 地址,支持本地和 HTTP、RTMP 和 RTSP 协议的在线媒体流。 |
syncPts | 是否同步切换前后的播放位置(毫秒):
|
◆ addPreloadSrc()
int io.agora.mediaplayer.AgoraMediaPlayerKit.addPreloadSrc |
( |
String |
src, |
|
|
long |
startPos |
|
) |
| |
预加载媒体资源。
你可以调用该方法将一个媒体资源预加载到播放列表中。如果需要预加载多个媒体资源,你可以多次调用该方法。
调用 addPreloadSrc
后,如果收到 onPreloadEvent 回调报告事件 PLAYER_PRELOAD_EVENT_COMPLETE(1)
,则预加载成功;如果你收到 onPreloadEvent 回调报告事件 PLAYER_PRELOAD_EVENT_ERROR(2)
,预加载失败。
预加载成功后,如果你想播放媒体资源,请调用 playPreload;如果你想清空播放列表,请调用 stop。
- 注解
- Agora 不支持你预加载重复的媒体资源到播放列表,但支持你将正在播放的媒体资源再次预加载到播放列表。
- 参数
-
src | 预加载的媒体资源 URL 地址,支持本地和 HTTP、RTMP 和 RTSP 协议的在线媒体流。 |
startPos | 预加载到播放列表后,开始播放时的起始位置(毫秒)。预加载直播流时,将 startPos 设为 0。 |
◆ playPreload()
int io.agora.mediaplayer.AgoraMediaPlayerKit.playPreload |
( |
String |
src | ) |
|
播放预加载的媒体资源。
该方法仅支持播放已预加载到播放列表中的媒体资源。调用该方法后,如果你收到 onPlayerStateChanged 回调报告状态 PLAYER_STATE_PLAYING
,播放成功。
如果你想更换播放的预加载媒体资源,你可以再次调用该方法并指定新的媒体资源路径。 如果你想重新播放媒体资源,你需要在播放前调用 addPreloadSrc 重新将该媒体资源预加载到播放列表。 如果你想清空播放列表,请调用 stop。
- 注解
- 如果你在播放暂停时调用该方法,该方法会在恢复播放后才生效。
- 参数
-
◆ getPlayerSdkVersion()
String io.agora.mediaplayer.AgoraMediaPlayerKit.getPlayerSdkVersion |
( |
| ) |
|
获取 MediaPlayer Kit 版本号
- 返回
- 当前使用的 Player 的版本号,如
"1.2.1"