public abstract class NELivePlayer
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static int |
NELP_YUV420
回调的数据格式
|
构造器和说明 |
---|
NELivePlayer() |
限定符和类型 | 方法和说明 |
---|---|
static void |
addPreloadUrls(java.util.ArrayList<java.lang.String> urls)
添加预调度拉流链接地址
|
static NELivePlayer |
create()
创建播放器实例
|
abstract NEAudioTrackInfo[] |
getAudioTracksInfo()
获取当前播放媒体的音轨信息,需要在prepare完成后调用
|
abstract long |
getCurrentPosition()
获取当前播放位置的时间点 单位: ms, 需要在收到onPrepare的通知后调用
|
abstract long |
getCurrentRealTime()
获取正在播放的时间戳
|
abstract com.netease.neliveplayer.proxy.gslb.NEGslbServerModel |
getCurrentServerModel()
获取当前播放地址
|
abstract long |
getCurrentSyncTimestamp()
获取当前正在播放的视频流中解析出来的时间戳
|
abstract java.lang.String |
getDataSource()
获取源文件路径
|
abstract long |
getDuration()
获取多媒体文件总时长 单位: ms, 需要在收到onPrepare的通知后调用
|
abstract int |
getLoopCount()
获取循环播放次数
|
abstract NEMediaInfo |
getMediaInfo()
获取媒体信息,包括解码器类型,码流格式等, 需要在收到onPrepare的通知后调用
|
abstract NEMediaRealTimeInfo |
getMediaRealTimeInfo()
获取播放实时数据
用于应用层监控播放器播放情况
|
abstract long |
getPlayableDuration()
获取当前已缓存位置的时间点 单位:ms, 需要在收到onPrepare的通知后调用
|
static NESDKInfo |
getSDKInfo(android.content.Context context)
获取SDK信息
注意:该接口必须要传入Context,否则返回 null。
|
abstract int |
getSelectedAudioTrack()
获取当前选择的音轨序号,需要在prepare完成后调用
|
abstract android.graphics.Bitmap |
getSnapshot()
截图,仅在软件解码条件下支持,硬件解码不支持, 需要在收到onPrepare的通知后调用
|
abstract boolean |
getSnapshot(android.graphics.Bitmap bitmap)
截图,仅在软件解码条件下支持,硬件解码不支持, 需要在收到onPrepare的通知后调用
|
abstract java.lang.String |
getVersion()
获取解码库版本号
|
abstract int |
getVideoHeight()
获取视频的高度, 需要在收到onPrepare的通知后调用
|
abstract int |
getVideoWidth()
获取视频的宽度, 需要在收到onPrepare的通知后调用
|
static void |
init(android.content.Context context,
NESDKConfig config)
初始化SDK,使用播放器时必须先进行初始化才能进行后续操作。
|
static boolean |
isDynamicLoadReady()
获取是否已经准备好so库文件
仅在初始化 init 接口中配置动态加载才能使用该接口查询
|
abstract boolean |
isLooping()
已过时。
|
abstract boolean |
isPlaying()
检测是否正在播放
|
abstract void |
pause()
暂停播放,只适用于点播
|
abstract void |
prepareAsync()
预处理播放器,为播放做准备
|
abstract void |
queryPreloadUrlResult(java.lang.String url,
com.netease.neliveplayer.proxy.gslb.NEGslbResultListener listener)
根据url,查询调度地址
|
static java.util.Map<java.lang.String,java.lang.Integer> |
queryPreloadUrls()
查询预调度拉流链接地址的结果信息
|
static void |
refreshPreloadUrls()
刷新全部拉流地址预调度信息
|
abstract void |
release()
释放播放器所有资源
|
static void |
removePreloadUrls(java.util.ArrayList<java.lang.String> urls)
移除预调度拉流链接地址
|
abstract void |
reset()
复位播放器至未初始化状态, 所有参数及回调配置都会清空
|
abstract void |
seekTo(long msec)
设置到指定时间点播放,需要在收到onPrepare的通知后调用
|
abstract void |
setAccurateSeek(boolean isAccurate)
设置精确seek
只适用于点播
在prepareAsync前调用
如果关闭精确seek,seek速度会有所提升但是seek不会很准确,建议视频较大时可以关闭精确seek;
如果打开精确seek,seek速度会有所下降但是seek会比较准确,建议短视频可以打开精确seek或者长视频能够接受相对久一点的seek也可以打开;
|
abstract int |
setAudioPcmDataConfig(NEAudioPcmConfig config)
配置PCM回调数据的参数信息,需要在prepare前调用
|
abstract void |
setAutoRetryConfig(NEAutoRetryConfig config)
配置自动重试信息
|
abstract void |
setBufferSize(int size)
设置缓冲区大小, 必须在setBufferStrategy后调用,reset之后要重新设置
NELPANTIJITTER为点播抗抖动模式,点播在该模式下可以设置缓冲区大小,该模式默认缓冲区大小是150M
只针对点播,可设置范围是5M~100M
|
abstract void |
setBufferStrategy(int bufferStrategy)
设置缓冲策略, 在prepaerAsync前调用
默认使用NELPLOWDELAY为直播低延时模式。
|
abstract boolean |
setDataSource(NEMediaDataSource mediaDataSource)
设置播放数据源,在prepareAsync前调用
|
abstract boolean |
setDataSource(java.lang.String path)
设置播放地址,在prepareAsync前调用
如果这里的播放地址是不同清晰度信息的地址,这里会执行同步耗时操作,为避免卡住UI,可以将setDataSource和prepareAsync的操作放到子线程中进行。
|
abstract boolean |
setDataSource(java.lang.String path,
NEDataSourceConfig config)
设置播放地址和播放配置项,在prepareAsync前调用
|
abstract void |
setDisplay(android.view.SurfaceHolder sh)
设置显示用的surfaceView,在prepareAsync前调用
|
abstract void |
setHardwareDecoder(boolean isOpen)
设置是否开启硬件解码, 在prepareAsync前调用
默认使用软件解码
|
abstract void |
setLoopCount(int loopCount)
设置循环播放
只适用于点播
在prepareAsync前调用
|
abstract void |
setLooping(int loopCount)
已过时。
|
abstract void |
setMirror(boolean isMirror)
设置镜像
该接口只支持软解,如需硬解镜像请使用TextureView的setScaleX,不支持SurfaceView的硬解解码镜像
|
abstract void |
setMute(boolean mute)
设置静音
|
abstract int |
setOnAudioFrameFilterListener(NEAudioPcmConfig config,
NELivePlayer.OnAudioFrameFilterListener listener)
注册获取音频帧数据的回调及回调音频参数,用户需要实现回调函数OnAudioFrameFilterListener来接收音频帧
|
abstract int |
setOnAudioFrameFilterListener(NELivePlayer.OnAudioFrameFilterListener listener)
注册获取音频帧数据的回调,用户需要实现回调函数OnAudioFrameFilterListener来接收音频帧
|
abstract void |
setOnBufferingUpdateListener(NELivePlayer.OnBufferingUpdateListener listener)
注册一个回调函数,在网络视频流缓存变化时调用
|
abstract void |
setOnCompletionListener(NELivePlayer.OnCompletionListener listener)
注册一个回调函数,在视频播放完成后调用
|
abstract void |
setOnCurrentPositionListener(long interval,
NELivePlayer.OnCurrentPositionListener listener)
设置当前播放位置的回调
|
abstract void |
setOnCurrentRealTimeListener(long interval,
NELivePlayer.OnCurrentRealTimeListener listener)
设置当前正在播放的视频流原始时间戳回调
支持软件解码和硬件解码时回调,支持纯音频、音视频文件时回调,建议优先使用 setOnCurrentSyncTimestampListener 回调时间戳
|
abstract void |
setOnCurrentSyncContentListener(NELivePlayer.OnCurrentSyncContentListener listener)
设置当前正在播放的音视频流里附带的内容信息回调
支持软件解码和硬件解码时回调,支持音视频文件,不支持纯音频文件时回调,回调中的内容信息是需要推流端推流时发送的,否则没有。
|
abstract void |
setOnCurrentSyncTimestampListener(long interval,
NELivePlayer.OnCurrentSyncTimestampListener listener)
设置视频流解析时间戳回调
支持软件解码和硬件解码时回调,不支持纯音频文件时回调
|
abstract void |
setOnErrorListener(NELivePlayer.OnErrorListener listener)
注册一个回调函数,在播放发生错误时调用
|
abstract void |
setOnHttpResponseInfoListener(NELivePlayer.OnHttpResponseInfoListener listener)
注册拉流http状态信息回调
|
abstract void |
setOnInfoListener(NELivePlayer.OnInfoListener listener)
注册一个回调函数,在有状态变化时调用
诸如缓存开始、缓存结束、视频第一帧、音频第一帧、拉流时网络状态码(例如302跳转状态)等状态时的回调
|
abstract void |
setOnPreparedListener(NELivePlayer.OnPreparedListener listener)
注册一个回调函数,在视频预处理完成后调用
|
abstract void |
setOnReleasedListener(NELivePlayer.OnReleasedListener listener)
注册一个回调函数,在release操作完成时调用
|
abstract void |
setOnSeekCompleteListener(NELivePlayer.OnSeekCompleteListener listener)
注册一个回调函数,在seek操作完成时调用
|
abstract void |
setOnSubtitleListener(NELivePlayer.OnSubtitleListener listener)
注册一个回调函数,在是否显示外挂字幕时调用
设置外挂字幕路径后才能有回调,参考
setSubtitleFile(java.lang.String) |
abstract int |
setOnVideoFrameFilterListener(int format,
NELivePlayer.OnVideoFrameFilterListener listener)
注册获取视频帧数据的回调,用户需要实现回调函数OnVideoFrameFilterListener来接收视频帧
只支持软件解码
|
abstract void |
setOnVideoSizeChangedListener(NELivePlayer.OnVideoSizeChangedListener listener)
注册一个回调函数,在视频大小发生变化时调用
|
abstract void |
setPlaybackSpeed(float playbackSpeed)
设置播放速度,适用于点播
|
abstract void |
setPlaybackTimeout(long timeout)
设置拉流超时时间, 需要在设置播放路径接口后调用(范围: 0 ~ 10秒,不包括0,默认是10秒,设置的值超过10秒使用默认值)
|
abstract int |
setSelectedAudioTrack(int index)
切换音轨,需要在prepare完成后调用。
|
abstract void |
setShouldAutoplay(boolean isAutoplay)
设置prepareAsync完成后是否自动播放,若设置成false,需要手动调用start()进行播放, 在prepareAsync前调用
|
abstract void |
setSubtitleFile(java.lang.String path)
设置点播时本地外挂字幕文件
目前只支持SRT格式字幕,SRT文件中的编码只支持UTF-8编码。
|
abstract void |
setSurface(android.view.Surface surface)
设置用于显示的surface,可以是surfaceView和TextureView
|
abstract boolean |
setSyncOpen(boolean isOpen)
|
abstract void |
setVolume(float volume)
设置音量(0.0 ~ 1.0, 0.0为静音,1.0为最大)
|
abstract void |
start()
开始播放
|
abstract void |
stop()
停止播放
|
abstract void |
switchContentUrl(java.lang.String url)
播放过程中切换播放地址,第一次播放不能调用该接口,仅支持当前播放结束切换到下一个视频,或者播放过程中切换下一个视频
|
abstract void |
switchContentUrl(java.lang.String url,
NEDataSourceConfig config)
播放过程中切换播放地址,第一次播放不能调用该接口,仅支持当前播放结束切换到下一个视频,或者播放过程中切换下一个视频
|
abstract void |
switchWithGslbResult(java.lang.Object session,
com.netease.neliveplayer.proxy.gslb.NEGslbServerModel model)
切换播放地址
先获取地址,之后在设置地址,
|
abstract void |
syncClockTo(NELivePlayer player)
将当前播放器实例的时钟跟目标播放器同步起来。
|
public static final int NELP_YUV420
public static void init(android.content.Context context, NESDKConfig config)
context
- 调用上下文config
- sdk配置信息public static NELivePlayer create() throws java.lang.UnsatisfiedLinkError, java.lang.UnsupportedOperationException
java.lang.UnsatisfiedLinkError
java.lang.UnsupportedOperationException
public static boolean isDynamicLoadReady()
仅在初始化 init 接口中配置动态加载才能使用该接口查询
public static NESDKInfo getSDKInfo(android.content.Context context)
public abstract void setBufferStrategy(int bufferStrategy)
bufferStrategy
- 缓冲策略NEBufferStrategy.NELPTOPSPEED
,
NEBufferStrategy.NELPLOWDELAY
,
NEBufferStrategy.NELPFLUENT
,
NEBufferStrategy.NELPANTIJITTER
public abstract void setBufferSize(int size)
size
- 缓冲区大小,单位byte,设置1M传入1*1024*1024public abstract void prepareAsync() throws java.lang.IllegalStateException
java.lang.IllegalStateException
public abstract NEMediaInfo getMediaInfo()
public abstract void setHardwareDecoder(boolean isOpen)
isOpen:
- true:开启硬件解码 false:软件解码public abstract void setShouldAutoplay(boolean isAutoplay)
isAutoplay
- true:自动播放 false:不自动播放public abstract void setMute(boolean mute)
mute
- 是否静音 true: 静音,false: 恢复播放public abstract void setMirror(boolean isMirror)
isMirror
- 是否镜像 true: 镜像,false: 不镜像public abstract boolean getSnapshot(android.graphics.Bitmap bitmap)
bitmap
- 截图结果,以Bitmap格式保存,可以转成jpg格式或png格式public abstract android.graphics.Bitmap getSnapshot()
public abstract java.lang.String getVersion()
public abstract void setDisplay(android.view.SurfaceHolder sh)
sh
- 显示Surface关联的SurfaceHolder, 为null时视频不显示public abstract void setSurface(android.view.Surface surface)
surface
- public abstract boolean setDataSource(java.lang.String path) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.SecurityException, java.lang.IllegalStateException
path
- 待播放文件的路径java.io.IOException
java.lang.IllegalArgumentException
java.lang.SecurityException
java.lang.IllegalStateException
public abstract boolean setDataSource(java.lang.String path, NEDataSourceConfig config) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.SecurityException, java.lang.IllegalStateException
path
- 待播放文件的路径config
- 播放配置项(配置缓存本地信息、解密信息、header信息)java.io.IOException
java.lang.IllegalArgumentException
java.lang.SecurityException
java.lang.IllegalStateException
public abstract boolean setDataSource(NEMediaDataSource mediaDataSource)
mediaDataSource
- 需要实现 NEMediaDataSource 实现自定义数据源public abstract java.lang.String getDataSource()
public abstract void start() throws java.lang.IllegalStateException
java.lang.IllegalStateException
public abstract void stop() throws java.lang.IllegalStateException
java.lang.IllegalStateException
public abstract void pause() throws java.lang.IllegalStateException
java.lang.IllegalStateException
public abstract void release()
public abstract void reset()
public abstract int getVideoWidth()
public abstract int getVideoHeight()
public abstract boolean isPlaying()
public abstract void seekTo(long msec) throws java.lang.IllegalStateException
msec
- java.lang.IllegalStateException
public abstract long getCurrentPosition()
public abstract long getDuration()
public abstract long getPlayableDuration()
public abstract void setSubtitleFile(java.lang.String path)
path
- 本地外挂字幕文件路径public abstract void setVolume(float volume)
volume
- @Deprecated public abstract void setLooping(int loopCount)
loopCount
- 0,不循环;-1无限循环;1循环一次,2循环两次,以此类推@Deprecated public abstract boolean isLooping()
public abstract void setLoopCount(int loopCount)
loopCount
- 0,不循环;-1无限循环;1循环一次,2循环两次,以此类推public abstract int getLoopCount()
public abstract void setAccurateSeek(boolean isAccurate)
isAccurate
- false,关闭精确seek;true,打开精确seek,默认打开精确seekpublic abstract void setPlaybackSpeed(float playbackSpeed)
playbackSpeed
- 播放速度 (范围:0.5 ~ 2.0)public abstract void setPlaybackTimeout(long timeout)
timeout
- 超时时间(单位: 秒 s)public abstract void switchContentUrl(java.lang.String url)
url
- 播放地址public abstract void switchContentUrl(java.lang.String url, NEDataSourceConfig config)
url
- 播放地址config
- 播放配置项(配置缓存本地信息、解密信息、header信息)public abstract void queryPreloadUrlResult(java.lang.String url, com.netease.neliveplayer.proxy.gslb.NEGslbResultListener listener)
url
- listener
- public abstract void switchWithGslbResult(java.lang.Object session, com.netease.neliveplayer.proxy.gslb.NEGslbServerModel model)
先获取地址,之后在设置地址,
session
- model
- 调度的地址public abstract com.netease.neliveplayer.proxy.gslb.NEGslbServerModel getCurrentServerModel()
public abstract NEMediaRealTimeInfo getMediaRealTimeInfo()
public abstract void setOnCurrentPositionListener(long interval, NELivePlayer.OnCurrentPositionListener listener)
interval
- 回调的时间间隔(单位:毫秒 ms)listener
- 时间戳回调public abstract long getCurrentRealTime()
public abstract void setOnCurrentRealTimeListener(long interval, NELivePlayer.OnCurrentRealTimeListener listener)
interval
- 回调的时间间隔(单位:毫秒 ms)listener
- 时间戳回调public abstract boolean setSyncOpen(boolean isOpen)
setOnCurrentSyncContentListener(com.netease.neliveplayer.sdk.NELivePlayer.OnCurrentSyncContentListener)
getCurrentSyncTimestamp()
setOnCurrentSyncTimestampListener(long, com.netease.neliveplayer.sdk.NELivePlayer.OnCurrentSyncTimestampListener)
public abstract long getCurrentSyncTimestamp()
public abstract void setOnCurrentSyncTimestampListener(long interval, NELivePlayer.OnCurrentSyncTimestampListener listener)
interval
- 回调的时间间隔(单位:毫秒 ms)listener
- 时间戳回调public abstract void setOnCurrentSyncContentListener(NELivePlayer.OnCurrentSyncContentListener listener)
listener
- 时间戳回调public abstract int setOnVideoFrameFilterListener(int format, NELivePlayer.OnVideoFrameFilterListener listener)
format
- 回调的视频数据格式,例如NELP_YUV420listener
- 回调的结果public abstract int setAudioPcmDataConfig(NEAudioPcmConfig config)
config
- 配置参数public abstract void setAutoRetryConfig(NEAutoRetryConfig config)
config
- 配置参数public abstract int setOnAudioFrameFilterListener(NELivePlayer.OnAudioFrameFilterListener listener)
listener
- 回调的结果public abstract int setOnAudioFrameFilterListener(NEAudioPcmConfig config, NELivePlayer.OnAudioFrameFilterListener listener)
config
- 音频回调PCM数据的配置参数listener
- 回调的结果public abstract void setOnHttpResponseInfoListener(NELivePlayer.OnHttpResponseInfoListener listener)
listener
- 回调的结果public abstract void setOnPreparedListener(NELivePlayer.OnPreparedListener listener)
listener
- 预处理完成的监听器public abstract void setOnCompletionListener(NELivePlayer.OnCompletionListener listener)
listener
- 视频播放完成的监听器public abstract void setOnBufferingUpdateListener(NELivePlayer.OnBufferingUpdateListener listener)
listener
- 网络视频流缓存变化的监听器public abstract void setOnSeekCompleteListener(NELivePlayer.OnSeekCompleteListener listener)
listener
- seek操作完成的监听器public abstract void setOnReleasedListener(NELivePlayer.OnReleasedListener listener)
listener
- release操作完成的监听器public abstract void setOnVideoSizeChangedListener(NELivePlayer.OnVideoSizeChangedListener listener)
listener
- 视频大小发生变化时的监听器public abstract void setOnErrorListener(NELivePlayer.OnErrorListener listener)
listener
- 播放发生错误时的监听器public abstract void setOnInfoListener(NELivePlayer.OnInfoListener listener)
listener
- 有警告发生时的监听器public abstract void setOnSubtitleListener(NELivePlayer.OnSubtitleListener listener)
setSubtitleFile(java.lang.String)
listener
- 是否显示字幕的监听器public abstract NEAudioTrackInfo[] getAudioTracksInfo()
public abstract int getSelectedAudioTrack()
public abstract int setSelectedAudioTrack(int index)
index
- 需要切换的音轨序号,音轨数量通过 getSelectedAudioTrack 返回的数组大小确定。public abstract void syncClockTo(NELivePlayer player)
该接口需要在调用prepare接口前调用,否则无效。 调用该接口后,将自动开启同步时间戳解析功能。
player
- 需要同步到的播放器实例。public static void addPreloadUrls(java.util.ArrayList<java.lang.String> urls)
urls
- 拉流链接地址public static void removePreloadUrls(java.util.ArrayList<java.lang.String> urls)
urls
- 拉流链接地址public static java.util.Map<java.lang.String,java.lang.Integer> queryPreloadUrls()
NEPreloadStatusType
public static void refreshPreloadUrls()