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

QQ登录

只需一步,快速开始

查看: 1828|回复: 8

[结贴] 如何解决windowdialog复用跳转audio页面时出现多重播放问题?

[复制链接]

5

主题

15

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
发表于 2017-9-17 16:51:13 | 显示全部楼层 |阅读模式
本帖最后由 HmoobPlay 于 2017-9-17 17:01 编辑

我在写一个音乐播放器,有以下过程:
index.w下有main.w;
main.w中使用了一个contents,其中content1使用了一个windowdialog打开player.w,content2中使用windowContainer嵌入一个list.w,然后在list.w中加一个windowdialog打开player.w(与content1打开的是同一个),在content1的list中点击项会改变播放路径,在content2嵌入的list.w的list中点击项也会改变播放路径,为何content1与content2中list.w的list中点击项相互之间不会改变播放路径呢,出现audio播放两个路径,出现两个声音,现想要实现点击两个content中任何1个list的项,就只出来这个路径的声音,如何解决?
我是初学者,现有这样的思路:监听audio,如果有播放路径,就更换路径后播放,如果没有播放路径,就播放现在的路径,是否正确?
谢谢阅读,求帮忙

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2017-9-18 15:57:50 | 显示全部楼层
windowDialog的forceRefreshOnOpen属性设置为true看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

15

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2017-9-18 23:17:30 | 显示全部楼层
jishuang 发表于 2017-9-18 15:57
windowDialog的forceRefreshOnOpen属性设置为true看看

未能解决,不过非常感谢你的回复。也许是我描述的不对,再描述一下,看看有没有人能够解决

问题:contents中有content1、content2、content3、content4
         content1中有个playerWindowdialog1打开player.w
         content2嵌套的songlist2.w中有个playerWindowdialog2打开player.w
         content3嵌套的songlist3.w中有个playerWindowdialog3打开player.w
         content4嵌套的songlist4.w中有个playerWindowdialog4打开player.w
         以上player.w只是4个content复用的同一个页面
         每个content中有1.mp3\ 2.mp3\3.mp3的文件路径,每换一次路径player.w也能播放,且只播放当前点击的文件路径,
         可是换到不同content时,4个content都会播放它当前点击文件路径,就是出现4个播放声音,如何才能解决???才能只播放当前content中当前点击的文件路径?
         
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2017-9-19 11:05:50 | 显示全部楼层
1.打开windowDialog的确认播放文件的url是什么
2.在windowDialog关闭事件看看是不是有关闭播放器的方法,调用关闭
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

15

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2017-9-19 21:00:28 | 显示全部楼层
jishuang 发表于 2017-9-19 11:05
1.打开windowDialog的确认播放文件的url是什么
2.在windowDialog关闭事件看看是不是有关闭播放器的方法,调 ...

有点难理解,使用audio.pause()应该是可以的,那样不是退出一次player.w就关闭一次声音了吗?

可否先用4个content中songlist.w的windowdialog先打开一个playbody.w(隐藏),
然后用playbody.w(隐藏)的windowdialog在接收参数完后自动打开player.w?
这样就出现了  A.w传当前行参数给B.w,B.w接收后继续传A.w的当前参数给C.w,这个怎么写啊?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2017-9-20 11:13:57 | 显示全部楼层
你的A、B、C都是在content中用windowDialog打开的页面,而且打开的顺序也不一定是按顺序来的

如果要自己拼接参数,可以自己获取参数存一个变量,然后自己判断变量是否有值给其他的url拼接上,再调用windowDialog的打开
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

22

主题

105

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
QQ
发表于 2018-2-2 13:18:35 | 显示全部楼层
请问解决了吗?
回复 支持 反对

使用道具 举报

发表于 2018-2-2 16:31:17 | 显示全部楼层
  不同页面的windowDialog 组件 ,每次打开的页面都是重新实例化的!如果想让他们都打开同一个页面
建议使用justep.shell.showPage打开
或者 将windowDialog 放在父页面  
调用 this.getParent().comp('windowDialog').open() 即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

5

主题

15

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2018-2-5 21:59:30 | 显示全部楼层
liangyongfei 发表于 2018-2-2 16:31
不同页面的windowDialog 组件 ,每次打开的页面都是重新实例化的!如果想让他们都打开同一个页面
建议使 ...

用这个var row = event.bindingContext.$object;
                 this.getParent().comp('PlayerBodyWindowDialog1').open({
                        params : {
                                operator : 'edit',
                                rowdata : row.toJson()
                        }
                });
解决了,大谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 03:20 , Processed in 0.056874 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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