Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
5588ef72
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5588ef72
编写于
3月 11, 2022
作者:
F
fulizhong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add httpPlayer testcases Signed-off-by: FULIZHONG<fulizhong@huawei.com>
Signed-off-by:
N
fulizhong
<
fulizhong@huawei.com
>
上级
b8b06d68
变更
19
展开全部
隐藏空白更改
内联
并排
Showing
19 changed file
with
2302 addition
and
0 deletion
+2302
-0
multimedia/media/media_js_standard/httpPlayer/BUILD.gn
multimedia/media/media_js_standard/httpPlayer/BUILD.gn
+40
-0
multimedia/media/media_js_standard/httpPlayer/Test.json
multimedia/media/media_js_standard/httpPlayer/Test.json
+32
-0
multimedia/media/media_js_standard/httpPlayer/signature/openharmony_sx.p7b
...media_js_standard/httpPlayer/signature/openharmony_sx.p7b
+0
-0
multimedia/media/media_js_standard/httpPlayer/src/main/config.json
...a/media/media_js_standard/httpPlayer/src/main/config.json
+75
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/app.js
...a/media_js_standard/httpPlayer/src/main/js/default/app.js
+23
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/i18n/en-US.json
...s_standard/httpPlayer/src/main/js/default/i18n/en-US.json
+6
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/i18n/zh-CN.json
...s_standard/httpPlayer/src/main/js/default/i18n/zh-CN.json
+6
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/index/index.css
...dard/httpPlayer/src/main/js/default/pages/index/index.css
+61
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/index/index.hml
...dard/httpPlayer/src/main/js/default/pages/index/index.hml
+26
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/index/index.js
...ndard/httpPlayer/src/main/js/default/pages/index/index.js
+47
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/surfaceTest/surfaceTest.css
...yer/src/main/js/default/pages/surfaceTest/surfaceTest.css
+61
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/surfaceTest/surfaceTest.hml
...yer/src/main/js/default/pages/surfaceTest/surfaceTest.hml
+26
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/surfaceTest/surfaceTest.js
...ayer/src/main/js/default/pages/surfaceTest/surfaceTest.js
+33
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/HttpPlayerCompatibilityTest.test.js
...ayer/src/main/js/test/HttpPlayerCompatibilityTest.test.js
+480
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/HttpPlayerFuncCallbackTest.test.js
...layer/src/main/js/test/HttpPlayerFuncCallbackTest.test.js
+586
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/HttpPlayerFuncPromiseTest.test.js
...Player/src/main/js/test/HttpPlayerFuncPromiseTest.test.js
+771
-0
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/List.test.js
...edia_js_standard/httpPlayer/src/main/js/test/List.test.js
+17
-0
multimedia/media/media_js_standard/httpPlayer/src/main/resources/base/element/string.json
...rd/httpPlayer/src/main/resources/base/element/string.json
+12
-0
multimedia/media/media_js_standard/httpPlayer/src/main/resources/base/media/icon.png
...tandard/httpPlayer/src/main/resources/base/media/icon.png
+0
-0
未找到文件。
multimedia/media/media_js_standard/httpPlayer/BUILD.gn
0 → 100644
浏览文件 @
5588ef72
# Copyright (C) 2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("http_player_js_hap") {
hap_profile = "./src/main/config.json"
js2abc = true
deps = [
":http_player_js_assets",
":http_player_resources",
]
# shared_libraries = [
# "//third_party/giflib:libgif",
# "//third_party/libpng:libpng",
# ]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "HttpPlayerJsTest"
# part_name = "prebuilt_hap"
# subsystem_name = "xts"
}
ohos_js_assets("http_player_js_assets") {
source_dir = "./src/main/js/default"
}
ohos_resources("http_player_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
}
multimedia/media/media_js_standard/httpPlayer/Test.json
0 → 100644
浏览文件 @
5588ef72
{
"description"
:
"Configuration for httpplayer Tests"
,
"driver"
:
{
"type"
:
"JSUnitTest"
,
"test-timeout"
:
"2000000"
,
"package"
:
"ohos.acts.multimedia.http.httpplayer"
,
"shell-timeout"
:
"60000"
},
"kits"
:
[
{
"type"
:
"PushKit"
,
"pre-push"
:
[
],
"push"
:
[
]
},
{
"type"
:
"ShellKit"
,
"run-command"
:
[
],
"teardown-command"
:[
]
},
{
"test-file-name"
:
[
"HttpPlayerJsTest.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
multimedia/media/media_js_standard/httpPlayer/signature/openharmony_sx.p7b
0 → 100644
浏览文件 @
5588ef72
文件已添加
multimedia/media/media_js_standard/httpPlayer/src/main/config.json
0 → 100644
浏览文件 @
5588ef72
{
"app"
:
{
"apiVersion"
:
{
"compatible"
:
6
,
"releaseType"
:
"Beta1"
,
"target"
:
7
},
"vendor"
:
"acts"
,
"bundleName"
:
"ohos.acts.multimedia.http.httpplayer"
,
"version"
:
{
"code"
:
1000000
,
"name"
:
"1.0.0"
}
},
"deviceConfig"
:
{
"default"
:
{
"debug"
:
true
}
},
"module"
:
{
"abilities"
:
[
{
"iconId"
:
16777218
,
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"descriptionId"
:
16777217
,
"visible"
:
true
,
"labelId"
:
16777216
,
"icon"
:
"$media:icon"
,
"name"
:
"ohos.acts.multimedia.http.httpplayer.MainAbility"
,
"description"
:
"$string:mainability_description"
,
"label"
:
"$string:entry_MainAbility"
,
"type"
:
"page"
,
"homeAbility"
:
true
,
"launchType"
:
"standard"
}
],
"deviceType"
:
[
"phone"
,
"tablet"
,
"tv"
,
"wearable"
],
"mainAbility"
:
"ohos.acts.multimedia.http.httpplayer.MainAbility"
,
"distro"
:
{
"moduleType"
:
"entry"
,
"installationFree"
:
false
,
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
},
"package"
:
"ohos.acts.multimedia.http.httpplayer"
,
"name"
:
".MyApplication"
,
"js"
:
[
{
"pages"
:
[
"pages/index/index"
,
"pages/surfaceTest/surfaceTest"
],
"name"
:
"default"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
true
}
}
]
}
}
\ No newline at end of file
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/app.js
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export
default
{
onCreate
()
{
console
.
info
(
'
AceApplication onCreate
'
);
},
onDestroy
()
{
console
.
info
(
'
AceApplication onDestroy
'
);
}
};
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/i18n/en-US.json
0 → 100644
浏览文件 @
5588ef72
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
}
}
\ No newline at end of file
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/i18n/zh-CN.json
0 → 100644
浏览文件 @
5588ef72
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
}
}
\ No newline at end of file
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/index/index.css
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.container
{
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
40px
;
color
:
#000000
;
opacity
:
0.9
;
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
@media
screen
and
(
device-type
:
wearable
)
{
.title
{
font-size
:
28px
;
color
:
#FFFFFF
;
}
}
@media
screen
and
(
device-type
:
tv
)
{
.container
{
background-image
:
url("/common/images/Wallpaper.png")
;
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
;
}
.title
{
font-size
:
100px
;
color
:
#FFFFFF
;
}
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/index/index.hml
0 → 100644
浏览文件 @
5588ef72
<!--
Copyright (c) 2022 Huawei Device Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
<Xcomponent id = 'XcomponentId'
type = 'surface'
onload = 'LoadXcomponent'
style = "width:720px;height:480px;border-color:red;border-width:5px">
</Xcomponent>
</div>
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/index/index.js
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
{
Core
,
ExpectExtend
}
from
'
deccjsunit/index
'
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
console
.
info
(
'
onShow finish
'
)
const
core
=
Core
.
getInstance
()
const
expectExtend
=
new
ExpectExtend
({
'
id
'
:
'
extend
'
})
core
.
addService
(
'
expect
'
,
expectExtend
)
core
.
init
()
const
configService
=
core
.
getDefaultService
(
'
config
'
)
this
.
timeout
=
60000
configService
.
setConfig
(
this
)
setTimeout
(
function
()
{
require
(
'
../../../test/List.test
'
)
core
.
execute
()
},
2000
)
},
onReady
()
{
},
LoadXcomponent
()
{
globalThis
.
value
=
this
.
$element
(
'
XcomponentId
'
).
getComponentSurfaceId
()
},
}
\ No newline at end of file
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/surfaceTest/surfaceTest.css
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.container
{
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
40px
;
color
:
#000000
;
opacity
:
0.9
;
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
@media
screen
and
(
device-type
:
wearable
)
{
.title
{
font-size
:
28px
;
color
:
#FFFFFF
;
}
}
@media
screen
and
(
device-type
:
tv
)
{
.container
{
background-image
:
url("/common/images/Wallpaper.png")
;
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
;
}
.title
{
font-size
:
100px
;
color
:
#FFFFFF
;
}
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/surfaceTest/surfaceTest.hml
0 → 100644
浏览文件 @
5588ef72
<!--
Copyright (c) 2022 Huawei Device Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div class="container">
<text class="title">
VideoPlayer Test
</text>
<Xcomponent id = 'XcomponentId2'
type = 'surface'
onload = 'LoadXcomponent2'
style = "width:720px;height:480px;border-color:red;border-width:5px">
</Xcomponent>
</div>
multimedia/media/media_js_standard/httpPlayer/src/main/js/default/pages/surfaceTest/surfaceTest.js
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
{
Core
,
ExpectExtend
}
from
'
deccjsunit/index
'
import
Fileio
from
'
@ohos.fileio
'
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
},
onReady
()
{
},
LoadXcomponent2
()
{
globalThis
.
value
=
this
.
$element
(
'
XcomponentId2
'
).
getXComponentSurfaceId
()
},
}
\ No newline at end of file
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/HttpPlayerCompatibilityTest.test.js
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an 'AS IS' BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
media
from
'
@ohos.multimedia.media
'
import
Fileio
from
'
@ohos.fileio
'
import
router
from
'
@system.router
'
import
{
describe
,
beforeAll
,
beforeEach
,
afterEach
,
afterAll
,
it
,
expect
}
from
'
deccjsunit/index
'
describe
(
'
HttpPlayerFuncPromiseTest
'
,
function
()
{
const
BASE_PATH
=
'
http://123.57.24.33:8000/
'
const
PLAY_TIME
=
3000
;
const
SEEK_TIME
=
5000
;
const
MAX_VOLUME
=
1
;
const
DELTA_TIME
=
1000
;
let
isToSeek
=
false
;
let
isToDuration
=
false
;
let
surfaceID
=
''
;
beforeAll
(
function
()
{
console
.
info
(
'
beforeAll case
'
);
})
beforeEach
(
async
function
()
{
await
toNewPage
();
await
msleep
(
1000
).
then
(()
=>
{
},
failureCallback
).
catch
(
catchCallback
);
isToSeek
=
false
;
isToDuration
=
false
;
console
.
info
(
'
beforeEach case
'
);
})
afterEach
(
async
function
()
{
await
router
.
clear
();
console
.
info
(
'
afterEach case
'
);
})
afterAll
(
function
()
{
console
.
info
(
'
afterAll case
'
);
})
function
sleep
(
time
)
{
for
(
let
t
=
Date
.
now
();
Date
.
now
()
-
t
<=
time
;);
}
function
msleep
(
ms
)
{
return
new
Promise
((
resolve
)
=>
setTimeout
(
resolve
,
ms
));
}
function
failureCallback
(
error
)
{
expect
().
assertFail
();
console
.
info
(
`case error called,errMessage is
${
error
.
message
}
`
);
}
function
catchCallback
(
error
)
{
expect
().
assertFail
();
console
.
info
(
`case error called,errMessage is
${
error
.
message
}
`
);
}
function
printfDescription
(
obj
)
{
let
description
=
""
;
for
(
let
i
in
obj
)
{
let
property
=
obj
[
i
];
console
.
info
(
'
case key is
'
+
i
);
console
.
info
(
'
case value is
'
+
property
);
description
+=
i
+
"
=
"
+
property
+
"
\n
"
;
}
}
async
function
toNewPage
()
{
let
path
=
'
pages/surfaceTest/surfaceTest
'
;
let
options
=
{
uri
:
path
,
}
try
{
let
result
=
await
router
.
push
(
options
);
}
catch
{
console
.
info
(
'
case route failed
'
);
}
}
async
function
playAudioSource
(
audioSource
,
done
)
{
let
audioPlayer
=
media
.
createAudioPlayer
();
audioPlayer
.
on
(
'
dataLoad
'
,
()
=>
{
console
.
info
(
'
case set source success
'
);
expect
(
audioPlayer
.
state
).
assertEqual
(
'
paused
'
);
expect
(
audioPlayer
.
currentTime
).
assertEqual
(
0
);
audioPlayer
.
play
();
});
audioPlayer
.
on
(
'
play
'
,
()
=>
{
console
.
info
(
'
case start to play
'
);
expect
(
audioPlayer
.
state
).
assertEqual
(
'
playing
'
);
sleep
(
PLAY_TIME
);
if
(
!
isToSeek
)
{
audioPlayer
.
pause
();
}
else
{
audioPlayer
.
seek
(
SEEK_TIME
);
}
});
audioPlayer
.
on
(
'
pause
'
,
()
=>
{
console
.
info
(
'
case now is paused
'
);
expect
(
audioPlayer
.
state
).
assertEqual
(
'
paused
'
);
audioPlayer
.
setVolume
(
MAX_VOLUME
);
});
audioPlayer
.
on
(
'
stop
'
,
()
=>
{
console
.
info
(
'
case stop success
'
);
expect
(
audioPlayer
.
state
).
assertEqual
(
'
stopped
'
);
audioPlayer
.
reset
();
});
audioPlayer
.
on
(
'
reset
'
,
()
=>
{
console
.
info
(
'
case reset success
'
);
expect
(
audioPlayer
.
state
).
assertEqual
(
'
idle
'
);
audioPlayer
.
release
();
audioPlayer
=
undefined
;
done
();
});
audioPlayer
.
on
(
'
timeUpdate
'
,
(
seekDoneTime
)
=>
{
if
(
typeof
(
seekDoneTime
)
==
"
undefined
"
)
{
console
.
info
(
`case seek filed,errcode is
${
seekDoneTime
}
`
);
audioPlayer
.
release
();
expect
().
assertFail
();
done
();
return
;
}
console
.
info
(
'
case seek success, and seek time is
'
+
seekDoneTime
);
if
(
!
isToDuration
)
{
expect
(
SEEK_TIME
).
assertEqual
(
seekDoneTime
);
isToDuration
=
true
;
sleep
(
PLAY_TIME
);
audioPlayer
.
seek
(
audioPlayer
.
duration
);
}
else
{
expect
(
audioPlayer
.
duration
).
assertEqual
(
seekDoneTime
);
}
});
audioPlayer
.
on
(
'
volumeChange
'
,
()
=>
{
console
.
info
(
'
case set volume value to
'
+
MAX_VOLUME
);
audioPlayer
.
play
();
isToSeek
=
true
;
});
audioPlayer
.
on
(
'
finish
'
,
()
=>
{
console
.
info
(
'
case play end
'
);
expect
(
audioPlayer
.
state
).
assertEqual
(
'
stopped
'
);
audioPlayer
.
stop
();
});
audioPlayer
.
on
(
'
error
'
,
(
err
)
=>
{
console
.
info
(
`case error called,errName is
${
err
.
name
}
`
);
console
.
info
(
`case error called,errCode is
${
err
.
code
}
`
);
console
.
info
(
`case error called,errMessage is
${
err
.
message
}
`
);
audioPlayer
.
release
();
expect
().
assertFail
();
done
();
});
audioPlayer
.
src
=
audioSource
;
}
async
function
playVideoSource
(
path
)
{
let
videoPlayer
=
null
;
surfaceID
=
globalThis
.
value
;
await
media
.
createVideoPlayer
().
then
((
video
)
=>
{
if
(
typeof
(
video
)
!=
'
undefined
'
)
{
console
.
info
(
'
case createVideoPlayer success
'
);
videoPlayer
=
video
;
}
else
{
console
.
info
(
'
case createVideoPlayer is failed
'
);
expect
().
assertFail
();
}
},
failureCallback
).
catch
(
catchCallback
);
videoPlayer
.
on
(
'
error
'
,
(
err
)
=>
{
console
.
info
(
`case error called,errMessage is
${
err
.
message
}
`
);
expect
().
assertFail
();
});
videoPlayer
.
url
=
path
;
await
videoPlayer
.
setDisplaySurface
(
surfaceID
).
then
(()
=>
{
console
.
info
(
'
case setDisplaySurface success
'
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
prepare
().
then
(()
=>
{
console
.
info
(
'
case prepare called!!
'
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
getTrackDescription
().
then
((
arrayList
)
=>
{
console
.
info
(
'
case getTrackDescription called!!
'
);
if
(
typeof
(
arrayList
)
!=
'
undefined
'
)
{
for
(
let
i
=
0
;
i
<
arrayList
.
length
;
i
++
)
{
printfDescription
(
arrayList
[
i
]);
}
}
else
{
console
.
info
(
'
case getTrackDescription is failed
'
);
expect
().
assertFail
();
}
},
failureCallback
).
catch
(
catchCallback
);
let
startTime
=
videoPlayer
.
currentTime
;
await
videoPlayer
.
play
().
then
(()
=>
{
console
.
info
(
'
case play called!!
'
);
sleep
(
PLAY_TIME
);
},
failureCallback
).
catch
(
catchCallback
);
let
endTime
=
videoPlayer
.
currentTime
;
expect
(
endTime
-
startTime
).
assertClose
(
PLAY_TIME
,
DELTA_TIME
);
await
videoPlayer
.
pause
().
then
(()
=>
{
console
.
info
(
'
case pause called!!
'
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
seek
(
SEEK_TIME
).
then
((
seekDoneTime
)
=>
{
console
.
info
(
'
case seek called and seekDoneTime is
'
+
seekDoneTime
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
play
().
then
(()
=>
{
console
.
info
(
'
case play called!!
'
);
sleep
(
PLAY_TIME
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
setSpeed
(
media
.
PlaybackSpeed
.
SPEED_FORWARD_0_75_X
).
then
((
speedMode
)
=>
{
console
.
info
(
'
case setSpeed called and speedMode is
'
+
speedMode
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
setSpeed
(
media
.
PlaybackSpeed
.
SPEED_FORWARD_1_00_X
).
then
((
speedMode
)
=>
{
console
.
info
(
'
case setSpeed called and speedMode is
'
+
speedMode
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
setSpeed
(
media
.
PlaybackSpeed
.
SPEED_FORWARD_1_25_X
).
then
((
speedMode
)
=>
{
console
.
info
(
'
case setSpeed called and speedMode is
'
+
speedMode
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
setSpeed
(
media
.
PlaybackSpeed
.
SPEED_FORWARD_1_75_X
).
then
((
speedMode
)
=>
{
console
.
info
(
'
case setSpeed called and speedMode is
'
+
speedMode
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
setSpeed
(
media
.
PlaybackSpeed
.
SPEED_FORWARD_2_00_X
).
then
((
speedMode
)
=>
{
console
.
info
(
'
case setSpeed called and speedMode is
'
+
speedMode
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
setVolume
(
1
).
then
(()
=>
{
console
.
info
(
'
case setVolume called
'
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
stop
().
then
(()
=>
{
console
.
info
(
'
case stop called!!
'
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
reset
().
then
(()
=>
{
console
.
info
(
'
case reset called!!
'
);
},
failureCallback
).
catch
(
catchCallback
);
await
videoPlayer
.
release
().
then
(()
=>
{
console
.
info
(
'
case release called!!
'
);
},
failureCallback
).
catch
(
catchCallback
);
}
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MP4_0100
* @tc.name : 001.H264_AAC
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MP4_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
H264_AAC.mp4
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MP4_0200
* @tc.name : 002.H264_MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MP4_0200
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
H264_MP3.mp4
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_TS_0100
* @tc.name : 001.H264_AAC
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_TS_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
H264_AAC.ts
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_TS_0200
* @tc.name : 002.H264_MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_TS_0200
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
H264_MP3.ts
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0100
* @tc.name : 001.H264_AAC
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
H264_AAC.mkv
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0200
* @tc.name : 002.H264_MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0200
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
H264_MP3.mkv
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0500
* @tc.name : 005.MPEG2_AAC
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0500
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
MPEG2_AAC.mkv
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0600
* @tc.name : 006.MPEG2_MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0600
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
MPEG2_MP3.mkv
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0800
* @tc.name : 008.MPEG4_MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_MKV_0800
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
MPEG4_MP3.mkv
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_WEBM_0100
* @tc.name : 001.VP8_VORBIS
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_VIDEO_PLAYER_HTTP_FORMAT_WEBM_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
VP8_VORBIS.webm
'
;
await
playVideoSource
(
path
);
done
();
})
/* *
* @tc.number : SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_MP3_0100
* @tc.name : 001.MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_MP3_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
MP3.mp3
'
;
await
playAudioSource
(
path
,
done
);
})
/* *
* @tc.number : SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_AAC_0100
* @tc.name : 001.AAC
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_AAC_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
AAC.aac
'
;
await
playAudioSource
(
path
,
done
);
})
/* *
* @tc.number : SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_WAV_0100
* @tc.name : 001.MP3
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_WAV_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
PCM.wav
'
;
await
playAudioSource
(
path
,
done
);
})
/* *
* @tc.number : SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_FLAC_0100
* @tc.name : 001.FLAC
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_FLAC_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
FLAC.flac
'
;
await
playAudioSource
(
path
,
done
);
})
/* *
* @tc.number : SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_M4A_0100
* @tc.name : 001.M4A
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_M4A_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
AAC.m4a
'
;
await
playAudioSource
(
path
,
done
);
})
/* *
* @tc.number : SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_OGG_0100
* @tc.name : 001.OGG
* @tc.desc : Http playback control test
* @tc.size : MediumTest
* @tc.type : Function test
* @tc.level : Level1
*/
it
(
'
SUB_MEDIA_AUDIO_PLAYER_HTTP_FORMAT_OGG_0100
'
,
0
,
async
function
(
done
)
{
let
path
=
BASE_PATH
+
'
OGG.ogg
'
;
await
playAudioSource
(
path
,
done
);
})
})
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/HttpPlayerFuncCallbackTest.test.js
0 → 100644
浏览文件 @
5588ef72
此差异已折叠。
点击以展开。
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/HttpPlayerFuncPromiseTest.test.js
0 → 100644
浏览文件 @
5588ef72
此差异已折叠。
点击以展开。
multimedia/media/media_js_standard/httpPlayer/src/main/js/test/List.test.js
0 → 100644
浏览文件 @
5588ef72
/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require
(
'
./HttpPlayerCompatibilityTest.test.js
'
)
require
(
'
./HttpPlayerFuncPromiseTest.test.js
'
)
require
(
'
./HttpPlayerFuncCallbackTest.test.js
'
)
multimedia/media/media_js_standard/httpPlayer/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
5588ef72
{
"string"
:
[
{
"name"
:
"entry_MainAbility"
,
"value"
:
"entry_MainAbility"
},
{
"name"
:
"mainability_description"
,
"value"
:
"JS_Empty Ability"
}
]
}
\ No newline at end of file
multimedia/media/media_js_standard/httpPlayer/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
5588ef72
6.6 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录