PicturePlayerView
PicturePlayerView copied to clipboard
基于TextureView的图片播放器
PicturePlayerView
PicturePlayerView是基于TextureView的一个图片播放器,适用于播放多张图片组成的动画的场景。
效果
图片素材我使用的是lottie-android的Logo

引用
Gradle
compile 'com.xiuyukeji.pictureplayerview:pictureplayerview:0.1.3'
Maven
<dependency>
<groupId>com.xiuyukeji.pictureplayerview</groupId>
<artifactId>pictureplayerview</artifactId>
<version>0.1.3</version>
<type>pom</type>
</dependency>
使用
首先添加至XML
<com.xiuyukeji.pictureplayerview.PicturePlayerView
android:id="@+id/player"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:picture_opaque="false"
app:picture_source="assets" />
然后在代码中设置数据源
mPicturePlayerView.setDataSource("图片地址集合", "播放总时长");
最后调用start播放
mPicturePlayerView.start();
方法说明
| 方法名 | 参数说明 | 备注 |
|---|---|---|
| setDataSource(String, String[], long) | (片文件夹地址, 图片名称数组, 播放总时长) | 设置数据源 |
| setDataSource(String, long) | (图片地址集合, 播放总时长) | 设置数据源 |
| start(void) | (无参数) | 开始播放 |
| resume(void) | (无参数) | 恢复播放 |
| pause(void) | (无参数) | 暂停播放 |
| stop(void) | (无参数) | 停止播放 |
| release(void) | (无参数) | 解除回调同时停止播放 |
| setScaleType(int) | ([FIT_WIDTH, FIT_HEIGHT, FIT_CENTER, FIT_CROP]) | 设置缩放类型 |
| setLoop(boolean) | (是否循环) | 设置是否循环播放 |
| setEnabled(boolean) | (是否有效) | 设置是否能开始播放 |
| setOnUpdateListener(OnUpdateListener) | (更新接口) | 每播放一帧都将回调 |
| setOnStopListener(OnStopListener) | (停止接口) | 停止播放时回调 |
| setOnErrorListener(OnErrorListener) | (错误接口) | 播放出错时回调 |
| setOnChangeListener(OnChangeListener) | (改变接口) | TextureView的生命周期,创建和销毁 |
| boolan isLoop() | return 是否循环 | 是否循环播放 |
| boolan isEnabled() | return 是否有效 | 是否能开始播放 |
| boolan isPaused() | return 是否暂停 | 是否暂停播放 |
| boolan isPlaying() | return 是否播放中 | 是否播放中 |
属性说明
| 属性名 | 参数说明 | 备注 |
|---|---|---|
| picture_loop | boolean | 设置是否循环播放 |
| picture_opaque | boolean | 设置背景是否不透明 |
| picture_antiAlias | boolean | 设置是否开启抗锯齿 |
| picture_filterBitmap | boolean | 设置是否开启滤波处理 |
| picture_dither | boolean | 设置是否开启防抖动 |
| picture_source | file, assets | 设置图片来源,目前一个View只支持一种来源 |
| picture_scaleType | fitWidth, fitHeight, fitCenter, fitCrop | 设置缩放类型 |
| picture_cacheFrameNumber | integer | 设置缓存数量,默认12帧 |
混淆
-dontwarn com.xiuyukeji.pictureplayerview.**
-keep class com.xiuyukeji.pictureplayerview.** { *; }
-dontwarn com.xiuyukeji.scheduler.**
-keep class com.xiuyukeji.scheduler.** { *; }
如果它有解决你的问题的话,请star下,谢谢。