起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5402|回复: 16

[处理中5] 关于录音的问题

[复制链接]

22

主题

80

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
发表于 2017-4-27 10:52:32 | 显示全部楼层 |阅读模式
本人做了一个录音的页面,发现如果使用bind-touchstart(因为想用上划取消录音,类似于微信)事件时,无法录音,使用bind-click事件时可以正常录音,测试了“\model\UI2\demo\native\audio”下的官方提供的案例,也是如此,请问是什么原因呢?另外测试“\model\UI2\demo\native\audio”官方的案例,录音成功后,使用getDuration获取的也是-1,使用getCurrentPosition获取的是0,请问这是什么原因,android真机测试。
发表于 2017-4-27 11:51:42 | 显示全部楼层
本帖最后由 liangyongfei 于 2017-4-27 11:53 编辑

先看先相关文章:http://docs.wex5.com/cordova-plugin-media/
文档介绍这两个方法是插件提供获取时间

返回音频文件的当前路径

你看下这个文档,里面有调用的示例
/Native/plugins/cordova-plugin-media/README.md

你的意思是录音成功,播放也没问题,但是这两个函数没获取到相关的值吗??


bind-touchstart 的问题!你先alert一下!确定这个滑动的事件是否被触发了??触发方法执行了!按理说和点击事件是一样的才对!
你应该在这个事件中判断滑动方向才能录音啊!如果一滑动就开始录音,应该也不符合需求吧

可以参考:http://docs.wex5.com/wex5-app-question-list-2071/


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

80

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-4-27 15:53:46 | 显示全部楼层
liangyongfei 发表于 2017-4-27 11:51
先看先相关文章:http://docs.wex5.com/cordova-plugin-media/
文档介绍这两个方法是插件提供获取时间

我把这个问题单独写了一个w文件,你运行在手机上看看。我下面再详细描述下问题:1.【点击】按钮录音,可以成功录制,但是使用getDuration()、getCurrentPosition均不对
2.【按着】按钮录音,只能捕获到手指按下去的动作,滑动动作以及手指离开屏幕的动作均捕获不到;再次【按着】按钮时,可以捕获到touch的开始、滑动、结束动作,但是录音却没有任何结果,请解。

请下载附件,解压后运行查看。 test.zip (2.27 KB, 下载次数: 113)
回复 支持 反对

使用道具 举报

发表于 2017-4-27 17:03:47 | 显示全部楼层
haoluziqi 发表于 2017-4-27 15:53
我把这个问题单独写了一个w文件,你运行在手机上看看。我下面再详细描述下问题:1.【点击】按钮录音,可 ...

本地测试touch 事件可以触发!也可以弹出 录音成功 的提示 ,滑动事件中
touchBtnTouchstart

是可以执行到这行代码的
  1. justep.Util.hint("录音成功");  
复制代码


getDuration()、getCurrentPosition 方法不起作用的问题我先提交一个缺陷吧2017042700005




qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

80

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-4-27 17:53:47 | 显示全部楼层
本帖最后由 haoluziqi 于 2017-4-27 17:55 编辑
liangyongfei 发表于 2017-4-27 17:03
本地测试touch 事件可以触发!也可以弹出 录音成功 的提示 ,滑动事件中
touchBtnTouchstart

兄弟,你没看清楚我的描述,就说按着按钮滑动的那个问题吧:
第一次按下去!!!“【按着】按钮录音,只能捕获到手指按下去的动作,【滑动动作】以及【手指离开屏幕】的动作均捕获不到;”
第二次按下去的时候都能捕获到,也提示录音成功,但是压根就没有录音文件,播放什么都没有,你试了没有?

按着按钮说话,然后手指滑动一下(不要一直按着不动),试试?
测试方法:(打开程序的第一次按下滑动动作,第二次按下已经没有意义了,每次重新打开应用按下测试),请详细测试!!!
这边真机测试终端为android6.0+

回复 支持 反对

使用道具 举报

发表于 2017-4-28 09:27:35 | 显示全部楼层
haoluziqi 发表于 2017-4-27 17:53
兄弟,你没看清楚我的描述,就说按着按钮滑动的那个问题吧:
第一次按下去!!!“【按着】按钮录音,只能 ...

嗯,我测试了!button 确实 第一次没触发Touch 事件,第二次才触发的。其他节点是可以触发的!比如如div 或者 content 第一次就能触发

但是我使用这个案例/UI2/demo/native/audio/mainActivity.w 测试
放一个button  
设置  :bind-touchstart="audioBtnClick"

是可以正常录音的
你在试试吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

80

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-4-28 10:24:35 | 显示全部楼层
liangyongfei 发表于 2017-4-28 09:27
嗯,我测试了!button 确实 第一次没触发Touch 事件,第二次才触发的。其他节点是可以触发的!比如如div  ...

方便的话你写个demo我看看。我这边div、content第一次都不会触发touchmove与touchend事件,与button现象一直,这是wex5的页面BUG吧,建议作为bug提交!wex5版本为3.6
回复 支持 反对

使用道具 举报

发表于 2017-4-28 11:07:30 | 显示全部楼层
haoluziqi 发表于 2017-4-28 10:24
方便的话你写个demo我看看。我这边div、content第一次都不会触发touchmove与touchend事件,与button现象 ...

覆盖到这里
/UI2/demo/native/audio/mainActivity.w

按钮滑动就能录音的!

audio.rar

3.77 KB, 下载次数: 78

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

80

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-4-28 11:28:54 | 显示全部楼层
liangyongfei 发表于 2017-4-28 11:07
覆盖到这里
/UI2/demo/native/audio/mainActivity.w

梁哥,我要疯了,你还是没看清我写的东西!

“第一次都不会触发touchmove与touchend事件”,你上面只测试了touchstart,这个事件是可以触发的,我一开始就说了,我要的是整个touch周期!touchstart、touchmove与touchend!!!

现在touchmove、touchend触发不了,如果去掉 “this.mediaRec.startRecord();” 之后touchmove、touchend可以正常触发!请查找原因!
回复 支持 反对

使用道具 举报

发表于 2017-4-28 12:04:22 | 显示全部楼层
haoluziqi 发表于 2017-4-28 11:28
梁哥,我要疯了,你还是没看清我写的东西!

“第一次都不会触发touchmove与touchend事件”,你上面只测 ...

确实是这样的!那你的录音的调用应该放在Touchend 事件中!这样所有的代码都能触发了!
不应该放在start事件中!

我觉得这个方法是同步执行的js !同步代码导致后面两个事件延迟,最后没有时机触发执行了!

只要在Touchend  中判断然后调用!就行了!你的需求是能实现的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-17 12:50 , Processed in 0.076182 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表