详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
重现步骤
[步骤]
- 播放开始时间是100秒的音频
- 播放开始时间是50秒的音频
- 切换回100秒开始的音频
- 点击[更新打印状态]
[结果]
- 播放开始时间是100秒的音频,音频从0开始播放
- 播放开始时间是50秒的音频,音频从100秒播放
- 切换会100秒开始的音频,音频从50秒开始播放
- 点击[更新打印状态],显示 '暂停状态true'
分析:每次都是从上一次设置的时间开始播放,第一次是从0秒是因为没有上一次.而且暂停状态一直显示true
[期望]
- 每次音频都能正确处理开始时间属性,设置多少秒就从多少秒开始播放,而不是从上次设置的开始时间播放.
- 暂停状态可以正确显示
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
2.1.3.20190723
[windows版本号]
win10
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app
[运行端版本号]
1.0
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建
[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件模式
App运行环境说明
[Android版本号]
[iOS版本号]
12.3.1
[手机型号]
iphone 6
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
app安装包地址
https://fir.im/dianshengiosdis?release_id=5d4962c2f945482a007320aa
[可重现代码片段]
<template>
<view class="content">
<view><button @tap="playAudio(0)">播放第一个 100秒开始</button></view>
<view><button @tap="playAudio(1)">播放第二个 50秒开始</button></view>
<view><button @tap="player.pause()">暂停</button></view>
<view><button @tap="player.play()">播放</button></view>
<view><button @tap="getPause()">更新打印状态</button></view>
<view>{{progress}}</view>
<view>暂停状态:{{paused}}</view>
</view>
</template>
<script>
export default {
data() {
return {
paused:'null',
progress:'0/0',
player:null,
srcArr:[
{
startTime:100,
src:"http://113.108.157.90:8088/resource/lesson/mp3/lesson/1564983160427.mp3",
coverImgUrl:"http://d.ifengimg.com/w144_h80_q70/x0.ifengimg.com/ucms/2019_32/ED006FA36DE4D64F71E4AF1A8F88B7E73E6011B9_w230_h152.jpg",
epname:"epname1",
singer:"singer1"
},
{
startTime:50,
src:"http://113.108.157.90:8088/resource/lesson/mp3/lesson/1564640375910.mp3",
coverImgUrl:"http://d.ifengimg.com/w144_h80_q70/x0.ifengimg.com/ucms/2019_32/92097BD55407366BB7088F4ED8691825C52330F8_w600_h382.jpg",
epname:"epname2",
singer:"singer2"
}
]
}
},
onLoad() {
let _self=this;
this.player = uni.getBackgroundAudioManager();
this.player.onTimeUpdate(function(){
_self.progress = parseInt(_self.player.currentTime)+'/'+parseInt(_self.player.duration)
})
},
methods: {
playAudio(index){
console.log(this.srcArr[index].startTime)
this.player.title= this.srcArr[index].title;
this.player.coverImgUrl= this.srcArr[index].coverImgUrl;
this.player.epname= this.srcArr[index].epname;
this.player.singer= this.srcArr[index].singer;
this.player.startTime= this.srcArr[index].startTime;
this.player.src= this.srcArr[index].src;
},
getPause(){
this.paused = this.player.paused;
}
}
}
</script>
<style>
</style>
联系方式
[QQ]
123905778
i***@163.com (作者)
好的
2019-08-08 09:29