今天早上,”测试“拿着测试手机跑过来问我:“你昨天做的语音播报在IOS怎么没声音的?”
我接过手机很疑惑,我昨天做完的时候还专门用IOS测试机试过了,没问题的啊。我试了下还真的没声音。我想起昨天拍外放声音会吵到别人,所以是用的耳机试的。然后我就用耳机再试了次,结果用耳机后又有语音声音了。“卧槽,人麻了,还有这么诡异的情况?外放没声音用耳机有声音!”
因为考虑到也有可能是手机自身外放有问题,“测试”让“产品”用她的iOS手机也试试。结果神奇的是“产品”说她的也不行。
那我就真的觉得是代码写得有问题。结果一顿排查下来后发现其实就是 iOS开了静音模式的问题,一开始也没想到这方面。
结果我就去找测试理论了,嘻嘻。我有点抱怨的对“测试”说 你这手机开着静音模式自然就没有提示语言,还跟我说我代码有bug。
他先是愣了下,然后又悠然说:”诶~,你被急,我试完先“。结果试完很明显就是我说的情况。可他下一口又说道:”还真的就行了,你是不是改过代码了?“
我觉得又好笑又好气,”我之前给你的是开发版的,你又没有重新扫码,我改了也不会变好吧“
”刚才”开发“试了不也 不行吗 ! “,测试说。然后他看了看 ”开发“。
”开发“听见我们的对话就拿起手机准备试,我也顺势向她走去。我走去时明显看见她手机一开始应该是开着静音模式,然后她用手指 ”啪嗒“ 关掉了静音模式。(静音模式开关就是iOS音量键 上方的 可上下调动开关)
然后又操作了边发现有声音了,我说”你看这不就有了“。
”我刚才试了真的没有声音“
”那你刚才应该是没有打开声音,或开着静音模式?“,我说得比较委婉,想着让她顺着台阶下来
结果她对我大声喊道:”没有,我骗你干啥?“。玛德,吓老子一跳,有没有必要这样。我看着她,看她样子明显有些生气。
这时”测试“又冒出来了,他站起来对我说 ”对呀,你改代码了吧。“
我?一阵无语。我就一张嘴说不过两个人呀。而且看 ”产品“ 那样子,也不太好再说什么。不然必然要不依不饶。再争下去老子还用不用做其他事了。而且看样子他们绝对不会承认自己弄错了,继续只会闹得不愉快。所以我也没有再说什么了,直接走回了自己的工位。
我都不知道,这个”产品“是真的忘了自己刚才关了静音模式的操作,还是就是不承认呢。她不承认的话我也没办法。看她的反映,要不是很肯定问题情况,我都怀疑自己真的冤枉她了。
----------------------END-----------------------
明明只是 件小事,却要闹得不愉快。
难道承认自己弄错了就那么难吗?
最后说说在技术上 音频播放是怎么实现
下面是官方给出的一个简单例子
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})
如果想要 IOS 即使是在静音模式下,也能播放声音,可以设置 InnerAudioContext 的播放选项。设置之后对当前小程序全局生效。
wx.setInnerAudioOption({
obeyMuteSwitch:false
})
因为我这里只是用于语音提示,所以没必要 设置 obeyMuteSwitch:false ,同时也没这个需求
|