初始化
说明:
内容页UI sdk
是基于伴侣sdk
封装了一层UI,由flutter实现,以若干Fragment为单位。
1. 集成内容页UI sdk
在 gradle
的 dependencies
中添加 uisdk-1.5.0-armall.aar
的依赖。
compile(name: 'uisdk-1.5.0-armall',ext: 'aar')
armall版本的aar包含armeabi、armeabi-v7a、arm64-v8a三种so,请用abiFilters过滤需要的abi以减小集成后的包大小。
ndk {
abiFilters 'armeabi'//, 'armeabi-v7a', 'arm64-v8a'
}
2. 获取内容页 Fragment
通过 BaseFlutterFragment.Companion.create()
获取到内容页 Fragment
flutterFragment = BaseFlutterFragment.Companion.create(“/“);
3.对接点播接口
内容页点播事件,会由上层实现,需要对接 ContentPlayListener
接口,请参考 demo:
同时注意在onDestroy()里边注销接口:
setPlayListener(null)
Methods.INSTANCE.setPlayListener(contentPlayListener);
public interface ContentPlayListener {
/**
* 播放专辑声音
* @param albumID 专辑ID
* @param trackID 声音ID
*/
void playContentTrack(String albumID, String trackID);
/**
* 播放
*/
void play();
/**
* 暂停
*/
void pause();
/**
* 播放下一首
*/
void playNext();
/**
* 播放上一首
*/
void playPrevious();
/**
* 调节播放音量
* @param volume 音量大小
*/
void setVolume(Integer volume);
/**
* 获取音响播放状态
* @param speakerDeviceId 音响deviceID
* @param callback 音响状态回调
*/
void getSpeakerStatus(String speakerDeviceId, final JsonXYCallback<SpeakerStatus> callback);
}
混淆规则
-keep class com.ximalaya.xiaoya.mobilesdk.ui.** {*;}
-keep class io.flutter.** {*;}
-keep class io.github.ponnamkarthik.toast.fluttertoast.** {*;}