|
@@ -165,6 +165,7 @@ export struct LocalMusic {
|
|
|
@Consume isCanBack: boolean
|
|
@Consume isCanBack: boolean
|
|
|
@Consume @Watch('onModeChange') modeType: number; // 0首页,1媒体库,2艺术家,3专辑
|
|
@Consume @Watch('onModeChange') modeType: number; // 0首页,1媒体库,2艺术家,3专辑
|
|
|
@State showSingleLyric: boolean = false
|
|
@State showSingleLyric: boolean = false
|
|
|
|
|
+ @State sortType: number = 4 //默认排序方式
|
|
|
|
|
|
|
|
onModeChange() {
|
|
onModeChange() {
|
|
|
if (this.modeType === 2 || this.modeType === 3) {
|
|
if (this.modeType === 2 || this.modeType === 3) {
|
|
@@ -344,7 +345,7 @@ export struct LocalMusic {
|
|
|
|
|
|
|
|
// 组件生命周期
|
|
// 组件生命周期
|
|
|
aboutToAppear() {
|
|
aboutToAppear() {
|
|
|
-
|
|
|
|
|
|
|
+ this.sortType = PreferencesUtil.getNumberSync(SettingPage.SORT_TYPE, 4)
|
|
|
Utility.getAppName(getContext(this)).then((appName: string) => {
|
|
Utility.getAppName(getContext(this)).then((appName: string) => {
|
|
|
this.appName = appName
|
|
this.appName = appName
|
|
|
})
|
|
})
|
|
@@ -857,13 +858,19 @@ export struct LocalMusic {
|
|
|
return mediaItems;
|
|
return mediaItems;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- updateListData(mList: Array<VideoItem>) {
|
|
|
|
|
|
|
+ updateListData(mList: Array<VideoItem>,noSort?:boolean) {
|
|
|
|
|
|
|
|
animateTo({ duration: 888 }, () => {
|
|
animateTo({ duration: 888 }, () => {
|
|
|
this.opacityItem = 0;
|
|
this.opacityItem = 0;
|
|
|
});
|
|
});
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
this.videoLocalList = mList;
|
|
this.videoLocalList = mList;
|
|
|
|
|
+ if(!noSort){
|
|
|
|
|
+ if(this.modeType===0||this.modeType===1){
|
|
|
|
|
+ this.sortType = PreferencesUtil.getNumberSync(SettingPage.SORT_TYPE, 4)
|
|
|
|
|
+ this.doSortType(this.sortType)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
this.dataSource.pushArrayData(this.videoLocalList)
|
|
this.dataSource.pushArrayData(this.videoLocalList)
|
|
|
animateTo({ duration: 888 }, () => {
|
|
animateTo({ duration: 888 }, () => {
|
|
|
this.opacityItem = 1;
|
|
this.opacityItem = 1;
|
|
@@ -1028,104 +1035,101 @@ export struct LocalMusic {
|
|
|
title: "请选择排序模式",
|
|
title: "请选择排序模式",
|
|
|
maskColor: Color.Transparent,
|
|
maskColor: Color.Transparent,
|
|
|
height: '75%',
|
|
height: '75%',
|
|
|
- sheets: ["按艺术家升序", "按艺术家降序", "按专辑升序", "按专辑降序", "按名称升序", "按名称降序", "按时间升序",
|
|
|
|
|
- "按时间降序"],
|
|
|
|
|
|
|
+ sheets: ["按艺术家升序", "按艺术家降序", "按专辑升序", "按专辑降序", "按名称升序", "按名称降序", "按添加时间升序",
|
|
|
|
|
+ "按添加时间降序"],
|
|
|
transition: AnimationHelper.transitionInDown(555),
|
|
transition: AnimationHelper.transitionInDown(555),
|
|
|
onAction: (index) => {
|
|
onAction: (index) => {
|
|
|
- switch (index) {
|
|
|
|
|
- case 0:
|
|
|
|
|
- this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
- // 类型排序优先级
|
|
|
|
|
- const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
- if (typeOrder !== 0) {
|
|
|
|
|
- return typeOrder;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 处理艺术家可能为undefined的字符串比较
|
|
|
|
|
- const artistA = a.artist?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
- const artistB = b.artist?.trim() || '';
|
|
|
|
|
- return artistA.localeCompare(artistB);
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- break;
|
|
|
|
|
- case 1:
|
|
|
|
|
- this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
- // 类型排序优先级
|
|
|
|
|
- const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
- if (typeOrder !== 0) {
|
|
|
|
|
- return typeOrder;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ this.doSortType(index)
|
|
|
|
|
+ this.updateListData(this.videoLocalList,true)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 处理艺术家可能为undefined的字符串比较
|
|
|
|
|
- const artistA = a.artist?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
- const artistB = b.artist?.trim() || '';
|
|
|
|
|
- return artistB.localeCompare(artistA);
|
|
|
|
|
- });
|
|
|
|
|
- break;
|
|
|
|
|
- case 2:
|
|
|
|
|
- this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
- // 类型排序优先级
|
|
|
|
|
- const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
- if (typeOrder !== 0) {
|
|
|
|
|
- return typeOrder;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- // 处理专辑可能为undefined的字符串比较
|
|
|
|
|
- const albumA = a.album?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
- const albumB = b.album?.trim() || '';
|
|
|
|
|
- return albumA.localeCompare(albumB);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ doSortType(index:number){
|
|
|
|
|
+ switch (index){
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
+ // 类型排序优先级
|
|
|
|
|
+ const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
+ if (typeOrder !== 0) return typeOrder;
|
|
|
|
|
+
|
|
|
|
|
+ // 处理艺术家可能为undefined的字符串比较
|
|
|
|
|
+ const artistA = a.artist?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
+ const artistB = b.artist?.trim() || '';
|
|
|
|
|
+ return artistA.localeCompare(artistB);
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
- break;
|
|
|
|
|
- case 3:
|
|
|
|
|
- this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
- // 类型排序优先级
|
|
|
|
|
- const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
- if (typeOrder !== 0) {
|
|
|
|
|
- return typeOrder;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
+ // 类型排序优先级
|
|
|
|
|
+ const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
+ if (typeOrder !== 0) return typeOrder;
|
|
|
|
|
+
|
|
|
|
|
+ // 处理艺术家可能为undefined的字符串比较
|
|
|
|
|
+ const artistA = a.artist?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
+ const artistB = b.artist?.trim() || '';
|
|
|
|
|
+ return artistB.localeCompare(artistA);
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
+ // 类型排序优先级
|
|
|
|
|
+ const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
+ if (typeOrder !== 0) return typeOrder;
|
|
|
|
|
+
|
|
|
|
|
+ // 处理专辑可能为undefined的字符串比较
|
|
|
|
|
+ const albumA = a.album?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
+ const albumB = b.album?.trim() || '';
|
|
|
|
|
+ return albumA.localeCompare(albumB);
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
- // 处理专辑可能为undefined的字符串比较
|
|
|
|
|
- const albumA = a.album?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
- const albumB = b.album?.trim() || '';
|
|
|
|
|
- return albumB.localeCompare(albumA);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 3:
|
|
|
|
|
+ this.videoLocalList.sort((a: VideoItem, b: VideoItem) => {
|
|
|
|
|
+ // 类型排序优先级
|
|
|
|
|
+ const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
+ if (typeOrder !== 0) return typeOrder;
|
|
|
|
|
+
|
|
|
|
|
+ // 处理专辑可能为undefined的字符串比较
|
|
|
|
|
+ const albumA = a.album?.trim() || ''; // 可选添加 trim() 处理空格
|
|
|
|
|
+ const albumB = b.album?.trim() || '';
|
|
|
|
|
+ return albumB.localeCompare(albumA);
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
- break;
|
|
|
|
|
- case 4:
|
|
|
|
|
- Utility.doSortListAscending(this.videoLocalList)
|
|
|
|
|
- break;
|
|
|
|
|
- case 5:
|
|
|
|
|
- Utility.doSortListDescending(this.videoLocalList)
|
|
|
|
|
- break;
|
|
|
|
|
- case 6:
|
|
|
|
|
- this.videoLocalList.sort((a, b) => {
|
|
|
|
|
- // First, sort by type
|
|
|
|
|
- const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
- if (typeOrder !== 0) {
|
|
|
|
|
- return typeOrder;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 4:
|
|
|
|
|
+ Utility.doSortListAscending(this.videoLocalList)
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 5:
|
|
|
|
|
+ Utility.doSortListDescending(this.videoLocalList)
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 6:
|
|
|
|
|
+ this.videoLocalList.sort((a, b) => {
|
|
|
|
|
+ // First, sort by type
|
|
|
|
|
+ const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
+ if (typeOrder !== 0) {
|
|
|
|
|
+ return typeOrder;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // If types are the same, sort by cTime in ascending order
|
|
|
|
|
- return a.cTime.localeCompare(b.cTime);
|
|
|
|
|
- });
|
|
|
|
|
- break;
|
|
|
|
|
- case 7:
|
|
|
|
|
- this.videoLocalList.sort((a, b) => {
|
|
|
|
|
- // First, sort by type
|
|
|
|
|
- const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
- if (typeOrder !== 0) {
|
|
|
|
|
- return typeOrder;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // If types are the same, sort by cTime in ascending order
|
|
|
|
|
+ return a.cTime.localeCompare(b.cTime);
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 7:
|
|
|
|
|
+ this.videoLocalList.sort((a, b) => {
|
|
|
|
|
+ // First, sort by type
|
|
|
|
|
+ const typeOrder = getTypeOrder(a.type) - getTypeOrder(b.type);
|
|
|
|
|
+ if (typeOrder !== 0) {
|
|
|
|
|
+ return typeOrder;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // If types are the same, sort by cTime in descending order
|
|
|
|
|
- return b.cTime.localeCompare(a.cTime);
|
|
|
|
|
- });
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- this.updateListData(this.videoLocalList)
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ // If types are the same, sort by cTime in descending order
|
|
|
|
|
+ return b.cTime.localeCompare(a.cTime);
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
showSheelDialog() {
|
|
showSheelDialog() {
|
|
@@ -4178,7 +4182,7 @@ export struct LocalMusic {
|
|
|
// private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
|
|
// private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
|
|
|
@State mFirst: boolean = true;
|
|
@State mFirst: boolean = true;
|
|
|
@State mDestroyPage: boolean = false;
|
|
@State mDestroyPage: boolean = false;
|
|
|
- @State playSpeed: string = '1f';
|
|
|
|
|
|
|
+ @State playSpeed: number = 1;
|
|
|
@State oldSeconds: number = 0;
|
|
@State oldSeconds: number = 0;
|
|
|
@State isSeekTo: boolean = false;
|
|
@State isSeekTo: boolean = false;
|
|
|
@State isCurrentTime: boolean = false;
|
|
@State isCurrentTime: boolean = false;
|
|
@@ -4300,8 +4304,8 @@ export struct LocalMusic {
|
|
|
LogUtil.debug("onecold lyricPath =" + lyricPath)
|
|
LogUtil.debug("onecold lyricPath =" + lyricPath)
|
|
|
|
|
|
|
|
const neiqianLrc = LrcParser.getLyrics(this.videoUrl);//获取内嵌歌词
|
|
const neiqianLrc = LrcParser.getLyrics(this.videoUrl);//获取内嵌歌词
|
|
|
- LogUtil.debug("onecold 找到内嵌歌词 neiqianLrc =" + neiqianLrc )
|
|
|
|
|
if(StrUtil.isNotEmpty(neiqianLrc)&&!isToast){
|
|
if(StrUtil.isNotEmpty(neiqianLrc)&&!isToast){
|
|
|
|
|
+ LogUtil.debug("onecold 找到内嵌歌词 neiqianLrc =" + neiqianLrc )
|
|
|
//赋值给this.lyricContent,播控中心才可以显示歌词
|
|
//赋值给this.lyricContent,播控中心才可以显示歌词
|
|
|
this.lyricContent = neiqianLrc
|
|
this.lyricContent = neiqianLrc
|
|
|
// 将文件内容按行分割成字符串数组
|
|
// 将文件内容按行分割成字符串数组
|
|
@@ -4322,17 +4326,17 @@ export struct LocalMusic {
|
|
|
if (this.currentSong !== undefined) {
|
|
if (this.currentSong !== undefined) {
|
|
|
// ToastUtil.showShort('正在为你搜索在线歌词!')
|
|
// ToastUtil.showShort('正在为你搜索在线歌词!')
|
|
|
//判断是不是赞助会员,是会员的话才开启歌词功能
|
|
//判断是不是赞助会员,是会员的话才开启歌词功能
|
|
|
- if (!this.isDebug) {
|
|
|
|
|
|
|
+ // if (!this.isDebug) {
|
|
|
if (!Utility.isNoble()) {
|
|
if (!Utility.isNoble()) {
|
|
|
LogUtil.debug("onecold 不是赞助会员")
|
|
LogUtil.debug("onecold 不是赞助会员")
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if(!Utility.isPassInstallTime(12)){
|
|
|
|
|
|
|
+ if(!Utility.isPassInstallTime(33)){
|
|
|
LogUtil.debug("onecold not pass time")
|
|
LogUtil.debug("onecold not pass time")
|
|
|
// LogUtil.debug("onecold 用户安装app没超过12天" )
|
|
// LogUtil.debug("onecold 用户安装app没超过12天" )
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ // }
|
|
|
|
|
|
|
|
let artist = this.currentSong?.artist
|
|
let artist = this.currentSong?.artist
|
|
|
if (artist === undefined) {
|
|
if (artist === undefined) {
|
|
@@ -4343,7 +4347,7 @@ export struct LocalMusic {
|
|
|
}
|
|
}
|
|
|
NetAxiosUtil.getLyric(this.name, artist, isApi2).then((res) => {
|
|
NetAxiosUtil.getLyric(this.name, artist, isApi2).then((res) => {
|
|
|
|
|
|
|
|
- LogUtil.debug("onecold res =" + res)
|
|
|
|
|
|
|
+ // LogUtil.debug("onecold res =" + res)
|
|
|
if (StrUtil.isNotEmpty(res) && res !== 'unknown' && res !== 'Timeout was reached') {
|
|
if (StrUtil.isNotEmpty(res) && res !== 'unknown' && res !== 'Timeout was reached') {
|
|
|
|
|
|
|
|
if (StrUtil.isNotEmpty(res)) {
|
|
if (StrUtil.isNotEmpty(res)) {
|
|
@@ -4572,67 +4576,7 @@ export struct LocalMusic {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //倍速播放
|
|
|
|
|
- showMultipleDialog(xid: string) {
|
|
|
|
|
-
|
|
|
|
|
- let dataBean = new BubbleBean()
|
|
|
|
|
- dataBean.data = ["0.75X", "1.0X", "1.25X", "1.5X", "1.75X", "2.0X", "3.0X"]
|
|
|
|
|
- dataBean.onItemClick = (i) => {
|
|
|
|
|
- // ToastUtil.showToast('您点击了第'+index+'个')
|
|
|
|
|
- this.multiple = dataBean.data[i]
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- switch (i) {
|
|
|
|
|
-
|
|
|
|
|
- case 0: //0.75X
|
|
|
|
|
- this.playSpeed = '0.75f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("0.75f");
|
|
|
|
|
- break
|
|
|
|
|
- case 1: //1.0X
|
|
|
|
|
- this.playSpeed = '1f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("1f");
|
|
|
|
|
- break
|
|
|
|
|
- case 2: //1.25X
|
|
|
|
|
- this.playSpeed = '1.25f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("1.25f");
|
|
|
|
|
- break
|
|
|
|
|
- case 3: //1.5X
|
|
|
|
|
- this.playSpeed = '1.5f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("1.5f");
|
|
|
|
|
- break
|
|
|
|
|
- case 4: //1.75X
|
|
|
|
|
- this.playSpeed = '1.75f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("1.75f");
|
|
|
|
|
- break
|
|
|
|
|
- case 5: //2.0X
|
|
|
|
|
- this.playSpeed = '2f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("2f");
|
|
|
|
|
- break
|
|
|
|
|
-
|
|
|
|
|
- case 6: //3.0X
|
|
|
|
|
- this.playSpeed = '3f'
|
|
|
|
|
- this.mIjkMediaPlayer.setSpeed("3f");
|
|
|
|
|
- break
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- xpup.dismiss()
|
|
|
|
|
- }
|
|
|
|
|
- let popupPosition: PopupPosition = PopupPosition.BOTTOM
|
|
|
|
|
- if (xid.includes('down')) {
|
|
|
|
|
- popupPosition = PopupPosition.TOP
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- let xpup = XPopup.Builder()
|
|
|
|
|
- .setPopupPosition(popupPosition)
|
|
|
|
|
- .setModal(true)
|
|
|
|
|
- .setInSubWindow(true)
|
|
|
|
|
- .setDismissOnTouchOutside(true)// .atView(xid)
|
|
|
|
|
- .asBubble(wrapBuilder(customPopupBuilder), dataBean)
|
|
|
|
|
- .show()
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
// 定义开始旋转的方法
|
|
// 定义开始旋转的方法
|
|
|
// 定时器用于一百毫秒执行一次旋转角度
|
|
// 定时器用于一百毫秒执行一次旋转角度
|
|
@@ -5812,14 +5756,29 @@ export struct LocalMusic {
|
|
|
.onClick(() => {
|
|
.onClick(() => {
|
|
|
this.doMore(more.id)
|
|
this.doMore(more.id)
|
|
|
})
|
|
})
|
|
|
- Text(this.multiple)
|
|
|
|
|
- .fontSize(16)
|
|
|
|
|
- .margin({ left: 20 })
|
|
|
|
|
- .fontColor(Color.White)
|
|
|
|
|
- .visibility(more.id === 1 ? Visibility.Visible : Visibility.None)
|
|
|
|
|
- .id('more_id_mu')
|
|
|
|
|
- .onClick(() => {
|
|
|
|
|
- this.doMore(more.id)
|
|
|
|
|
|
|
+ Select([//倍速
|
|
|
|
|
+ { value: '0.25x' },
|
|
|
|
|
+ { value: '0.5x' },
|
|
|
|
|
+ { value: '0.75x' },
|
|
|
|
|
+ { value: '1x' },
|
|
|
|
|
+ { value: '1.25x' },
|
|
|
|
|
+ { value: '1.5x' },
|
|
|
|
|
+ { value: '1.75x' },
|
|
|
|
|
+ { value: '2x' },
|
|
|
|
|
+ { value: '3x' }])
|
|
|
|
|
+ .font({ size: 16, weight: FontWeight.Medium })
|
|
|
|
|
+ .fontColor($r('sys.color.white'))
|
|
|
|
|
+ .margin({left:25})
|
|
|
|
|
+ .visibility(more.id===1?Visibility.Visible:Visibility.None)
|
|
|
|
|
+ .selected(CommonConstants.video_speed_list.indexOf(this.playSpeed))
|
|
|
|
|
+ .value(Utility.optimizedFormat(this.playSpeed))
|
|
|
|
|
+ .onSelect(async (_index: number, text?: string | undefined) => {
|
|
|
|
|
+ let speed = parseFloat(text?.replace('x', '') || '1');
|
|
|
|
|
+ if (!CommonConstants.video_speed_list.includes(speed)) {
|
|
|
|
|
+ speed = 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.playSpeed = speed
|
|
|
|
|
+ this.mIjkMediaPlayer.setSpeed(this.playSpeed+'f');
|
|
|
})
|
|
})
|
|
|
Slider({
|
|
Slider({
|
|
|
value: this.volume,
|
|
value: this.volume,
|
|
@@ -6018,9 +5977,7 @@ export struct LocalMusic {
|
|
|
|
|
|
|
|
doMore(moreId: number) {
|
|
doMore(moreId: number) {
|
|
|
switch (moreId) {
|
|
switch (moreId) {
|
|
|
- case 1: //倍数
|
|
|
|
|
- this.showMultipleDialog('middle_id')
|
|
|
|
|
- break;
|
|
|
|
|
|
|
+
|
|
|
case 10: //设为铃声
|
|
case 10: //设为铃声
|
|
|
this.setRingTone()
|
|
this.setRingTone()
|
|
|
this.isShowMoreView = false
|
|
this.isShowMoreView = false
|
|
@@ -6507,7 +6464,7 @@ export struct LocalMusic {
|
|
|
this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_timeout", "10000000");
|
|
this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_timeout", "10000000");
|
|
|
// 变速播放
|
|
// 变速播放
|
|
|
this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", "1");
|
|
this.mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", "1");
|
|
|
- this.mIjkMediaPlayer.setSpeed(this.playSpeed);
|
|
|
|
|
|
|
+ this.mIjkMediaPlayer.setSpeed(this.playSpeed+'f');
|
|
|
let Speed = this.mIjkMediaPlayer.getSpeed()
|
|
let Speed = this.mIjkMediaPlayer.getSpeed()
|
|
|
LogUtils.getInstance().LOGI('getSpeed--' + Speed)
|
|
LogUtils.getInstance().LOGI('getSpeed--' + Speed)
|
|
|
//是否开启循环播放
|
|
//是否开启循环播放
|