功能 | Android版本 | 备注 |
---|---|---|
软解 | Android 2.3及以上版本 | 支持无缝渲染 |
硬解 | Android 4.1及以上版本 | 效率更高 |
1. 从github下载工程
工程内容说明(完整下载包包含SDK、DOC、Demo三部分):
- SDK目录:YfPlayerKit.jar、libffmpeg.so、libyfplayer.so、libyfsdl.so
- DOC目录:YFEncoderKit帮助文档.pdf、README.MD
- Demo:集成了推流sdk的所有功能示范
获取SDK使用许可的Token,在app启动的时候调用全局静态鉴权方法。
Authentication.AuthCallBack authCallBack = new Authentication.AuthCallBack() {
@Override
public void onAuthenticateSuccess() {
Log.d(TAG, "鉴权成功~!");
}
@Override
public void onAuthenticateError(int errorCode) {
Log.d(TAG, "鉴权失败啦:" + errorCode);
}
};
Authentication.Authenticate(TOKEN, authCallBack);
为了防止在鉴权的时候因为网络异常而鉴权失败,可以在恢复网络的时候确认一下是否鉴权成功,如果没有则再次发起鉴权。
if(!Authentication.isAuthenticateSucceed()){
//retry
}
注意事项
github或官网上下载的sdk仅支持使用测试域名进行播放,正式使用请与我们联系获取正式token并设置播放域名。
YfPlayerKit(类似Android原生的VideoView,封装了Surface)
1、在layout使用YfPlayerKit
< com.yunfan.player.widget.YfPlayerKit
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
2、实现回调接口并设置回调
//根据需要实现YfCloudPlayer.OnPreparedListener等回调接口
mVideoView.setOnPreparedListener(this);
mVideoView.setOnErrorListener(this);
mVideoView.setOnBufferingUpdateListener(this);
mVideoView.setOnInfoListener(this);
3、播放视频
YfPlayerKit mVideoView = (YfPlayerKit) findViewById(R.id.surface_view);
mVideoView.setVideoPath(path);
mVideoView.start();
4、暂停/停止播放
mVideoView.pause();//暂停
mVideoView.stopPlayback();//停止
mVideoView.release(true);//释放播放器
YfCloudPlayer(类似于原生MediaPlayer,不带Surface)
1、配置播放器
YfCloudPlayer yfMediaPlayer = YfCloudPlayer.Factory.createPlayer(this, mDecodeMode);//以某种解码方式初始化播放器
yfMediaPlayer.setDisplay(holder);//设置渲染Surface
yfMediaPlayer.prepareAsync();//准备播放
2、设置YfCloudPlayer.OnPreparedListener(必需)及其他回调
yfMediaPlayer.setOnCompletionListener(mCompletionListener);
yfMediaPlayer.setOnPreparedListener(mPreparedListener);
yfMediaPlayer.setOnVideoSizeChangedListener(mSizeChangedListener);
yfMediaPlayer.setOnErrorListener(mErrorListener);
3、在OnPrepared的回调中播放视频
yfMediaPlayer.start();
4、停止播放
yfMediaPlayer.stop();//停止
yfMediaPlayer.release();//释放播放器
yfMediaPlayer=null;//释放播放器后为保证状态一致建议将其置空
更多功能的使用请参考Demo。
技术支持:support@yfcloud.com