接入保利威视demo
This commit is contained in:
@@ -5,7 +5,21 @@
|
||||
"lockfileVersion": 3,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"@itcast/basic@../../commons/basic": "@itcast/basic@../../commons/basic"
|
||||
"@itcast/basic@../../commons/basic": "@itcast/basic@../../commons/basic",
|
||||
"@ohos/crypto-js@2.0.3": "@ohos/crypto-js@2.0.4",
|
||||
"@ohos/crypto-js@^2.0.2": "@ohos/crypto-js@2.0.4",
|
||||
"@ohos/httpclient@2.0.2": "@ohos/httpclient@2.0.2",
|
||||
"@polyvharmony/httpdns-api@1.0.2": "@polyvharmony/httpdns-api@1.0.2",
|
||||
"@polyvharmony/media-player-business@2.5.0": "@polyvharmony/media-player-business@2.5.0",
|
||||
"@polyvharmony/media-player-core-api@2.5.0": "@polyvharmony/media-player-core-api@2.5.0",
|
||||
"@polyvharmony/media-player-core-ijk@2.5.0": "@polyvharmony/media-player-core-ijk@2.5.0",
|
||||
"@polyvharmony/media-player-foundation@2.5.0": "@polyvharmony/media-player-foundation@2.5.0",
|
||||
"@polyvharmony/media-player-sdk-addon-cache-down@2.5.0": "@polyvharmony/media-player-sdk-addon-cache-down@2.5.0",
|
||||
"@polyvharmony/media-player-sdk@2.5.0": "@polyvharmony/media-player-sdk@2.5.0",
|
||||
"base64-js@^1.5.1": "base64-js@1.5.1",
|
||||
"media-player-common@../../polyv": "media-player-common@../../polyv",
|
||||
"pako@^2.1.0": "pako@2.1.0",
|
||||
"scene_single_video@../../scene_single_video": "scene_single_video@../../scene_single_video"
|
||||
},
|
||||
"packages": {
|
||||
"@itcast/basic@../../commons/basic": {
|
||||
@@ -13,6 +27,138 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": "../../commons/basic",
|
||||
"registryType": "local"
|
||||
},
|
||||
"@ohos/crypto-js@2.0.4": {
|
||||
"name": "@ohos/crypto-js",
|
||||
"version": "2.0.4",
|
||||
"integrity": "sha512-589ur6oqU1UNibqefMly2cwEeEhkSoCAA3uc+oNUwRnYYtevn/kQnO+Coi36N+VJSeeg/uFzZk1K/wUMdovpOA==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/crypto-js/-/crypto-js-2.0.4.har",
|
||||
"registryType": "ohpm"
|
||||
},
|
||||
"@ohos/httpclient@2.0.2": {
|
||||
"name": "@ohos/httpclient",
|
||||
"version": "2.0.2",
|
||||
"integrity": "sha512-acFEfQ9ZJti4KEYDBErCq0W85uc2khen41LIkBLVcfFXmgZAGeRKV+CPiSyG8v+5nUD7Wf2ncjBxxPxr6moqVg==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/httpclient/-/httpclient-2.0.2.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"pako": "^2.1.0",
|
||||
"@ohos/crypto-js": "^2.0.2",
|
||||
"base64-js": "^1.5.1"
|
||||
}
|
||||
},
|
||||
"@polyvharmony/httpdns-api@1.0.2": {
|
||||
"name": "@polyvharmony/httpdns-api",
|
||||
"version": "1.0.2",
|
||||
"integrity": "sha512-p3vd3i4oClAp/rf2RD3vIdKRSisabOB/+K+wYB9nHuf5ZDTw3Yv4o+dLQewm0atqf00JGF3Y0IiwURCpryJX5Q==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/httpdns-api/-/httpdns-api-1.0.2.har",
|
||||
"registryType": "ohpm"
|
||||
},
|
||||
"@polyvharmony/media-player-business@2.5.0": {
|
||||
"name": "@polyvharmony/media-player-business",
|
||||
"version": "2.5.0",
|
||||
"integrity": "sha512-ta9YBq8cvwNPuRwQpAopodFB0WHbAfRUhgosGqT+UDEHZtlXsajLFmplPhoqYpFb649FVe6vDjVdHgsp6bKmtQ==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/media-player-business/-/media-player-business-2.5.0.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"@polyvharmony/media-player-core-api": "2.5.0",
|
||||
"@polyvharmony/media-player-foundation": "2.5.0",
|
||||
"@ohos/httpclient": "2.0.2",
|
||||
"@ohos/crypto-js": "2.0.3"
|
||||
}
|
||||
},
|
||||
"@polyvharmony/media-player-core-api@2.5.0": {
|
||||
"name": "@polyvharmony/media-player-core-api",
|
||||
"version": "2.5.0",
|
||||
"integrity": "sha512-23Z4p0nPWAGJuifAr5qfhB39b0RdU7LQnOKPJTtPX4fc3qyGDoyQ7Y4/e+WulTm/JaDgsQ7xTn+Hmq+ryNl5cA==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/media-player-core-api/-/media-player-core-api-2.5.0.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"@polyvharmony/media-player-foundation": "2.5.0"
|
||||
}
|
||||
},
|
||||
"@polyvharmony/media-player-core-ijk@2.5.0": {
|
||||
"name": "@polyvharmony/media-player-core-ijk",
|
||||
"version": "2.5.0",
|
||||
"integrity": "sha512-LieKq0vm8QpTNLzw+QSVRok9xoJV0fDVR4Aw1bRClnpd4Mmb99JvwuW6isCRYsrZJievsxbbNet/qSqjb+OJhw==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/media-player-core-ijk/-/media-player-core-ijk-2.5.0.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"@polyvharmony/media-player-core-api": "2.5.0",
|
||||
"@polyvharmony/media-player-foundation": "2.5.0"
|
||||
}
|
||||
},
|
||||
"@polyvharmony/media-player-foundation@2.5.0": {
|
||||
"name": "@polyvharmony/media-player-foundation",
|
||||
"version": "2.5.0",
|
||||
"integrity": "sha512-P1beEIZs2ySGrNGWo2RRi8/hQopZkLE6Cdi+53/UJI4iXFeciWZQMXold3KBqlMzNm369BEysaoprtCsWLMC8Q==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/media-player-foundation/-/media-player-foundation-2.5.0.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"@ohos/httpclient": "2.0.2",
|
||||
"@ohos/crypto-js": "2.0.3",
|
||||
"@polyvharmony/httpdns-api": "1.0.2"
|
||||
}
|
||||
},
|
||||
"@polyvharmony/media-player-sdk-addon-cache-down@2.5.0": {
|
||||
"name": "@polyvharmony/media-player-sdk-addon-cache-down",
|
||||
"version": "2.5.0",
|
||||
"integrity": "sha512-wN6OQaQm65GPL39nVWYx9vRyua6TflbIXddoataxHrlW2Nf7N3PJZjmFW0zaTPC5EyzsnmkRh/4zN2zHvyQDUA==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/media-player-sdk-addon-cache-down/-/media-player-sdk-addon-cache-down-2.5.0.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"@polyvharmony/media-player-business": "2.5.0",
|
||||
"@polyvharmony/media-player-foundation": "2.5.0",
|
||||
"@polyvharmony/media-player-core-ijk": "2.5.0"
|
||||
}
|
||||
},
|
||||
"@polyvharmony/media-player-sdk@2.5.0": {
|
||||
"name": "@polyvharmony/media-player-sdk",
|
||||
"version": "2.5.0",
|
||||
"integrity": "sha512-Of8xCFhAD0O8s7Q0jzwSf4potYJJcI/j+MrNvU23sgXnEAX6DG7azIehuCn+k6AMHvxgLF1LlEMp17v3pkc/XA==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@polyvharmony/media-player-sdk/-/media-player-sdk-2.5.0.har",
|
||||
"registryType": "ohpm",
|
||||
"dependencies": {
|
||||
"@polyvharmony/media-player-business": "2.5.0",
|
||||
"@polyvharmony/media-player-core-api": "2.5.0",
|
||||
"@polyvharmony/media-player-foundation": "2.5.0"
|
||||
}
|
||||
},
|
||||
"base64-js@1.5.1": {
|
||||
"name": "base64-js",
|
||||
"version": "1.5.1",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"shasum": "1b1b440160a5bf7ad40b650f095963481903930a",
|
||||
"registryType": "ohpm"
|
||||
},
|
||||
"media-player-common@../../polyv": {
|
||||
"name": "media-player-common",
|
||||
"version": "2.5.0",
|
||||
"resolved": "../../polyv",
|
||||
"registryType": "local",
|
||||
"dependencies": {
|
||||
"@polyvharmony/media-player-sdk": "2.5.0",
|
||||
"@polyvharmony/media-player-sdk-addon-cache-down": "2.5.0"
|
||||
}
|
||||
},
|
||||
"pako@2.1.0": {
|
||||
"name": "pako",
|
||||
"version": "2.1.0",
|
||||
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/pako/-/pako-2.1.0.tgz",
|
||||
"shasum": "266cc37f98c7d883545d11335c00fbd4062c9a86",
|
||||
"registryType": "ohpm"
|
||||
},
|
||||
"scene_single_video@../../scene_single_video": {
|
||||
"name": "scene_single_video",
|
||||
"version": "2.5.0",
|
||||
"resolved": "../../scene_single_video",
|
||||
"registryType": "local",
|
||||
"dependencies": {
|
||||
"media-player-common": "file:../polyv",
|
||||
"@polyvharmony/media-player-sdk": "2.5.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,10 @@
|
||||
"author": "",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@itcast/basic": "file:../../commons/basic"
|
||||
"@itcast/basic": "file:../../commons/basic",
|
||||
"@polyvharmony/media-player-sdk": "2.5.0",
|
||||
"@polyvharmony/media-player-sdk-addon-cache-down": "2.5.0",
|
||||
"scene_single_video": "file:../../scene_single_video",
|
||||
"media-player-common": "file:../../polyv"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
|
||||
import { runCatching, seconds } from '@polyvharmony/media-player-sdk';
|
||||
import { MeetingItemModel,ItemModel } from '../model/ItemModel'
|
||||
import { BasicConstant } from '@itcast/basic'
|
||||
import { promptAction, router } from '@kit.ArkUI';
|
||||
import { PLVMockMediaResourceData } from '../polyv/PLVMockMediaResourceData'
|
||||
import {
|
||||
PLVMediaPlayerSingleVideoPageParam
|
||||
} from 'media-player-common';
|
||||
@Preview
|
||||
@Component
|
||||
export struct ItemComp {
|
||||
item: MeetingItemModel = new MeetingItemModel({} as ItemModel)
|
||||
|
||||
|
||||
@State timeColor:ResourceStr=$r('app.color.ee432f')
|
||||
@State status:string=''
|
||||
@State heightss:Length=247
|
||||
@@ -57,7 +64,23 @@ export struct ItemComp {
|
||||
}
|
||||
.height(162).backgroundColor(Color.Orange)
|
||||
.margin({top:10,right:5}).clip(true).id('rr')
|
||||
.onClick(async()=>{
|
||||
const mediaResourcesResult = await runCatching(PLVMockMediaResourceData.getInstance().setupMediaResourcesFromLocal('e97dbe3e648aefc2eb6f68b96db9db6c_e'))
|
||||
if (mediaResourcesResult.success === false) {
|
||||
promptAction.showToast({
|
||||
message: `'视频数据初始化失败': ${mediaResourcesResult.error}`,
|
||||
duration: seconds(3).toMillis()
|
||||
})
|
||||
return
|
||||
}
|
||||
const mediaResource = mediaResourcesResult.data[0]
|
||||
router.pushUrl({
|
||||
url:'pages/VideoPage/PLVMediaPlayerSingleVideoPage',
|
||||
params: new PLVMediaPlayerSingleVideoPageParam(mediaResource)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
Row(){
|
||||
Image($r('app.media.meetingtime')).width(13).height(13)
|
||||
Text(this.getTime(this.item.begin_date,this.item.end_date)).fontSize(14)
|
||||
@@ -89,6 +112,7 @@ export struct ItemComp {
|
||||
}.backgroundColor($r('app.color.e4e4e4'))
|
||||
.width('100%').padding({left:10,right:10}).clip(true)
|
||||
|
||||
|
||||
}
|
||||
|
||||
getTime(str1:string, str2:string) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
@Component
|
||||
export struct PLVMediaPlayerSingleVideo {
|
||||
build() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { PLVMediaResource } from '@polyvharmony/media-player-sdk';
|
||||
import { PLVMockMediaResourceData } from './PLVMockMediaResourceData';
|
||||
|
||||
export class PLVMockFeedResourceDataSource implements IPLVMediaPlayerFeedResourceDataSource {
|
||||
async onLoadMoreData(fromIndex: number): Promise<PLVMediaResource[]> {
|
||||
const result = await PLVMockMediaResourceData.getInstance().getMediaResources();
|
||||
return result.slice(fromIndex, fromIndex + 5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export interface IPLVMediaPlayerFeedResourceDataSource {
|
||||
|
||||
onLoadMoreData(fromIndex: number): Promise<PLVMediaResource[]>
|
||||
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
import {
|
||||
error,
|
||||
PLVGeneralApiManager,
|
||||
PLVMediaPlayerAppContext,
|
||||
PLVMediaResource,
|
||||
PLVUrlMediaResource,
|
||||
PLVViewerParam,
|
||||
PLVVodMainAccountAuthentication,
|
||||
PLVVodMediaResource
|
||||
} from '@polyvharmony/media-player-sdk';
|
||||
import {PLVMediaDownloadSetting} from '@polyvharmony/media-player-sdk-addon-cache-down';
|
||||
|
||||
// const mockAuthentication: PLVVodMainAccountAuthentication = {
|
||||
// userId: "cfb7a69a75",
|
||||
// secretKey: "4KtJhl9EqU"
|
||||
// }
|
||||
const mockAuthentication: PLVVodMainAccountAuthentication = {
|
||||
userId: "e97dbe3e64",
|
||||
secretKey: "zMV29c519P"
|
||||
}
|
||||
|
||||
const mockViewerParam: PLVViewerParam = {
|
||||
viewerId: "123",
|
||||
viewerName: "123"
|
||||
}
|
||||
|
||||
export class PLVMockMediaResourceData {
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="单例">
|
||||
|
||||
private static readonly instance = new PLVMockMediaResourceData()
|
||||
|
||||
private constructor() {
|
||||
this.setupMediaResources()
|
||||
}
|
||||
|
||||
static getInstance() {
|
||||
return PLVMockMediaResourceData.instance
|
||||
}
|
||||
|
||||
// </editor-fold>
|
||||
|
||||
private mediaResources?: Promise<PLVMediaResource[]>
|
||||
|
||||
private setupMediaResources() {
|
||||
// this.setupMediaResourcesFromLocal()
|
||||
// this.setupMediaResourcesFromServer()
|
||||
}
|
||||
|
||||
getMediaResources(): Promise<PLVMediaResource[]> {
|
||||
if (!this.mediaResources) {
|
||||
error("Must call setup before getMediaResources")
|
||||
}
|
||||
return this.mediaResources
|
||||
}
|
||||
|
||||
public setupMediaResourcesFromLocal(vid:string):Promise<PLVMediaResource[]> {
|
||||
return this.mediaResources = Promise.resolve([
|
||||
vod(vid)
|
||||
// vod("e97dbe3e648aefc2eb6f68b96db9db6c_e"),
|
||||
// vod("e97dbe3e6401ea8f76617bafe32f57e9_e"),
|
||||
// vod("e97dbe3e64ed6e0aac558e43787df1b4_e"),
|
||||
// vod("e97dbe3e646f8f565c015f361025c51c_e"),
|
||||
// vod("e97dbe3e64755eda79bbda0c8c9a939e_e"),
|
||||
// vod("e97dbe3e6492596e7e680c4c7b99ca1b_e"),
|
||||
// vod("e97dbe3e641a81a1e87750a2522b22c9_e"),
|
||||
// vod("e97dbe3e64f6f6d1f75aa6d16a2d128e_e"),
|
||||
// vod("e97dbe3e64b6dd24f868c16335570343_e"),
|
||||
// vod("e97dbe3e64b2ab3301c3289a5731cbb0_e"),
|
||||
// vod("e97dbe3e649c4f6743ca640bda94230c_e"),
|
||||
// vod("e97dbe3e64ae88c87769c9dba0aad552_e"),
|
||||
// vod("e97dbe3e640cd100431e12a8f8313c7d_e"),
|
||||
// vod("e97dbe3e6423671524f4601cb652bd0d_e"),
|
||||
// vod("e97dbe3e645083078cb42da5aac89b7f_e"),
|
||||
// vod("e97dbe3e64414e6dad17196f652c021f_e"),
|
||||
// vod("e97dbe3e64fba07447f7c37b283fd76d_e"),
|
||||
// vod("e97dbe3e643ea0a62166780aeab7c43c_e"),
|
||||
// vod("e97dbe3e64436506a71c7cbeecf001de_e"),
|
||||
// vod("e97dbe3e64b564d0daac43002effcb48_e"),
|
||||
// vod("e97dbe3e64e4f1bd6c28c395703fc4d8_e"),
|
||||
// vod("e97dbe3e6400b7c243ecacf0a45e3fbb_e"),
|
||||
// vod("e97dbe3e648ca60cad8017983a07ecc9_e"),
|
||||
// vod("e97dbe3e646a24f4c61a45dcbf9354ce_e"),
|
||||
// vod("e97dbe3e641b079d268330cc274fe3b4_e"),
|
||||
// vod("e97dbe3e642eb6b15f9983949ffbdea7_e")
|
||||
])
|
||||
}
|
||||
|
||||
private setupMediaResourcesFromServer() {
|
||||
this.mediaResources = PLVGeneralApiManager.getVodVideoList(mockAuthentication, 1, 20)
|
||||
.then(result => {
|
||||
return result.data!.map(video => vod(video!.vid!))
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function vod(videoId: string): PLVVodMediaResource {
|
||||
// 默认下载路径
|
||||
const defaultDownloadRoot = PLVMediaDownloadSetting.defaultSetting(PLVMediaPlayerAppContext.getInstance().appContext!).downloadRootDirectory
|
||||
return {
|
||||
videoId: videoId,
|
||||
authentication: mockAuthentication,
|
||||
viewerParam: mockViewerParam,
|
||||
scene: "vod",
|
||||
localVideoSearchPaths: [defaultDownloadRoot]
|
||||
}
|
||||
}
|
||||
|
||||
function url(url: string): PLVUrlMediaResource {
|
||||
return {
|
||||
url: url
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user