Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
anyefeiyu
uni-app
提交
19f264e8
U
uni-app
项目概览
anyefeiyu
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
19f264e8
编写于
1月 08, 2020
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: app-v3 InnerAudioContext.seek InnerAudioContext.onTimeUpdate
上级
1d1bee09
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
13 deletion
+32
-13
src/core/service/api/context/audio.js
src/core/service/api/context/audio.js
+32
-13
未找到文件。
src/core/service/api/context/audio.js
浏览文件 @
19f264e8
...
...
@@ -9,14 +9,14 @@ const eventNames = [
'
pause
'
,
'
stop
'
,
'
ended
'
,
'
time
u
pdate
'
,
'
time
U
pdate
'
,
'
error
'
,
'
waiting
'
,
'
seeking
'
,
'
seeked
'
]
const
props
=
[
const
props
=
[
{
name
:
'
src
'
,
cache
:
true
...
...
@@ -69,7 +69,7 @@ class InnerAudioContext {
this
.
_callbacks
=
{}
this
.
_options
=
{}
eventNames
.
forEach
(
name
=>
{
this
.
_callbacks
[
name
]
=
[]
this
.
_callbacks
[
name
.
toLowerCase
()
]
=
[]
})
props
.
forEach
(
item
=>
{
const
name
=
item
.
name
...
...
@@ -103,11 +103,12 @@ class InnerAudioContext {
this
.
_operate
(
'
stop
'
)
}
seek
(
position
)
{
this
.
_operate
(
'
play
'
,
{
currentTime
:
position
this
.
_operate
(
'
seek
'
,
{
currentTime
:
position
*
1
e3
})
}
destroy
()
{
clearInterval
(
audio
.
__timing
)
invokeMethod
(
'
destroyAudioInstance
'
,
{
audioId
:
this
.
id
})
...
...
@@ -123,6 +124,7 @@ class InnerAudioContext {
eventNames
.
forEach
(
item
=>
{
const
name
=
item
[
0
].
toUpperCase
()
+
item
.
substr
(
1
)
item
=
item
.
toLowerCase
()
InnerAudioContext
.
prototype
[
`on
${
name
}
`
]
=
function
(
callback
)
{
this
.
_callbacks
[
item
].
push
(
callback
)
}
...
...
@@ -135,6 +137,17 @@ eventNames.forEach(item => {
}
})
function
emit
(
audio
,
state
,
errMsg
,
errCode
)
{
audio
.
_callbacks
[
state
].
forEach
(
callback
=>
{
if
(
typeof
callback
===
'
function
'
)
{
callback
(
state
===
'
error
'
?
{
errMsg
,
errCode
}
:
{})
}
})
}
onMethod
(
'
onAudioStateChange
'
,
({
state
,
audioId
,
...
...
@@ -142,14 +155,20 @@ onMethod('onAudioStateChange', ({
errCode
})
=>
{
const
audio
=
innerAudioContexts
[
audioId
]
audio
&&
audio
.
_callbacks
[
state
].
forEach
(
callback
=>
{
if
(
typeof
callback
===
'
function
'
)
{
callback
(
state
===
'
error
'
?
{
errMsg
,
errCode
}
:
{})
if
(
audio
)
{
emit
(
audio
,
state
,
errMsg
,
errCode
)
if
(
state
===
'
play
'
)
{
const
oldCurrentTime
=
audio
.
currentTime
audio
.
__timing
=
setInterval
(()
=>
{
const
currentTime
=
audio
.
currentTime
if
(
currentTime
!==
oldCurrentTime
)
{
emit
(
audio
,
'
timeupdate
'
)
}
},
200
)
}
else
if
(
state
===
'
pause
'
||
state
===
'
stop
'
||
state
===
'
error
'
)
{
clearInterval
(
audio
.
__timing
)
}
}
)
}
})
const
innerAudioContexts
=
Object
.
create
(
null
)
...
...
@@ -161,4 +180,4 @@ export function createInnerAudioContext () {
const
innerAudioContext
=
new
InnerAudioContext
(
audioId
)
innerAudioContexts
[
audioId
]
=
innerAudioContext
return
innerAudioContext
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录