Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
菜鸟程序猿_c
uni-app
提交
7d6146aa
U
uni-app
项目概览
菜鸟程序猿_c
/
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,发现更多精彩内容 >>
提交
7d6146aa
编写于
4月 07, 2022
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(App): InnerAudioContext、BackgroundAudioManager支持倍速
上级
9dbf5080
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
68 addition
and
46 deletion
+68
-46
src/core/service/api/context/background-audio.js
src/core/service/api/context/background-audio.js
+24
-19
src/core/service/api/context/inner-audio.js
src/core/service/api/context/inner-audio.js
+13
-9
src/platforms/app-plus/service/api/context/background-audio.js
...latforms/app-plus/service/api/context/background-audio.js
+10
-3
src/platforms/app-plus/service/api/context/inner-audio.js
src/platforms/app-plus/service/api/context/inner-audio.js
+21
-15
未找到文件。
src/core/service/api/context/background-audio.js
浏览文件 @
7d6146aa
...
...
@@ -70,6 +70,11 @@ const props = [
name
:
'
protocol
'
,
readonly
:
true
,
default
:
'
http
'
},
{
name
:
'
playbackRate
'
,
default
:
1
,
cache
:
true
,
}
]
...
...
@@ -114,7 +119,7 @@ class BackgroundAudioManager {
this
.
_options
[
name
]
=
value
invokeMethod
(
'
setBackgroundAudioState
'
,
Object
.
assign
({},
this
.
_options
,
{
audioId
:
this
.
id
}))
})
,
name
)
}
}
Object
.
defineProperty
(
this
,
name
,
data
)
...
...
src/core/service/api/context/inner-audio.js
浏览文件 @
7d6146aa
...
...
@@ -63,6 +63,10 @@ const props = [
},
{
name
:
'
sessionCategory
'
},
{
name
:
'
playbackRate
'
,
cache
:
true
,
}
]
...
...
src/platforms/app-plus/service/api/context/background-audio.js
浏览文件 @
7d6146aa
...
...
@@ -86,9 +86,16 @@ function stopTimeUpdateTimer () {
}
}
function
setMusicState
(
args
)
{
function
setMusicState
(
args
,
name
)
{
initMusic
()
const
props
=
[
'
src
'
,
'
startTime
'
,
'
coverImgUrl
'
,
'
webUrl
'
,
'
singer
'
,
'
epname
'
,
'
title
'
]
if
(
name
&&
name
===
'
playbackRate
'
)
{
let
val
=
args
[
name
]
audio
.
playbackRate
&&
audio
.
playbackRate
(
parseFloat
(
val
))
return
}
const
style
=
{}
Object
.
keys
(
args
).
forEach
(
key
=>
{
if
(
props
.
indexOf
(
key
)
>=
0
)
{
...
...
@@ -150,8 +157,8 @@ export function operateMusicPlayer ({
errMsg
:
`
${
api
}
:ok`
}
}
export
function
setBackgroundAudioState
(
args
)
{
setMusicState
(
args
)
export
function
setBackgroundAudioState
(
args
,
name
)
{
setMusicState
(
args
,
name
)
return
{
errMsg
:
'
setBackgroundAudioState:ok
'
}
...
...
src/platforms/app-plus/service/api/context/inner-audio.js
浏览文件 @
7d6146aa
...
...
@@ -48,7 +48,7 @@ const initStateChage = audioId => {
}
}
export
function
createAudioInstance
()
{
export
function
createAudioInstance
()
{
const
audioId
=
`
${
Date
.
now
()}${
Math
.
random
()}
`
const
audio
=
audios
[
audioId
]
=
plus
.
audio
.
createPlayer
(
''
)
audio
.
src
=
''
...
...
@@ -61,7 +61,7 @@ export function createAudioInstance () {
}
}
export
function
destroyAudioInstance
({
export
function
destroyAudioInstance
({
audioId
})
{
if
(
audios
[
audioId
])
{
...
...
@@ -74,7 +74,7 @@ export function destroyAudioInstance ({
}
}
export
function
setAudioState
({
export
function
setAudioState
({
audioId
,
src
,
startTime
,
...
...
@@ -82,7 +82,8 @@ export function setAudioState ({
loop
=
false
,
obeyMuteSwitch
,
volume
,
sessionCategory
=
AUDIO_DEFAULT_SESSION_CATEGORY
sessionCategory
=
AUDIO_DEFAULT_SESSION_CATEGORY
,
playbackRate
})
{
const
audio
=
audios
[
audioId
]
if
(
audio
)
{
...
...
@@ -91,7 +92,9 @@ export function setAudioState ({
autoplay
}
if
(
src
)
{
audio
.
src
=
style
.
src
=
getRealPath
(
src
)
// iOS 设置 src 会重新播放
const
realSrc
=
getRealPath
(
src
)
if
(
audio
.
src
!==
realSrc
)
audio
.
src
=
style
.
src
=
realSrc
}
if
(
startTime
)
{
audio
.
startTime
=
style
.
startTime
=
startTime
...
...
@@ -103,6 +106,9 @@ export function setAudioState ({
if
(
sessionCategory
)
{
audio
.
setSessionCategory
(
sessionCategory
)
}
if
(
playbackRate
&&
audio
.
playbackRate
)
{
audio
.
playbackRate
(
playbackRate
)
}
initStateChage
(
audioId
)
}
return
{
...
...
@@ -110,7 +116,7 @@ export function setAudioState ({
}
}
export
function
getAudioState
({
export
function
getAudioState
({
audioId
})
{
const
audio
=
audios
[
audioId
]
...
...
@@ -137,7 +143,7 @@ export function getAudioState ({
}
}
export
function
operateAudio
({
export
function
operateAudio
({
operationType
,
audioId
,
currentTime
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录