2013-07-30 106 views
0

对不起,如果它看起来像一个noob问题,但我是钛新,所以一些概念是对我来说是陌生的。钛:声音互相重叠

我有一个脚本叫做entry.js,它使用require('entry.js')从details.js中调用。

现在在entry.js中播放声音,这取决于选择了什么条目。

var player = Ti.Media.createSound({url:"/sounds/0"+e.id+".mp3"}); 
    player.play(); 

这部分没有问题。问题是当我回到细节屏幕,并选择另一个条目,新的声音重叠旧的。

所以我需要一个全局值或对象,我可以传递给entry.js以确定声音是否播放。

但是,如果我在details.js声明全局TI.Media对象我得到一个错误在entry.js: 不能找到变量球员

所以现在的问题是,我如何在子JavaScript文件检测音频实例已在运行?

回答

1

您可以使用isPlaying() method检查音频是否正在播放,或者在返回到详情屏幕时尝试停止播放音乐。您可以使用stop() method来停止声音。它将停止播放音频并将播放位置重置到剪辑的开头。

如果你想创建一个全局变量或从一个窗口传递变量到另一个,请参阅以下链接

  1. Passing parameters from currentWindow to the new window in Titanium

  2. Passing variable between windows

+0

IsPlaying模块和停止不工作,因为播放器是在子页面级别定义的,并没有检测到它正在播放。 – R0b0tn1k

+0

我试图将参数传递给当前窗口,但对于我的生活它不工作。我在最后一个窗口中一直未定义。 – R0b0tn1k

+0

尝试使用Ti.App.Properties创建应用变量 – Anand