0

对不起,如果它看起来像一个菜鸟问题,但我是钛的新手,所以有些概念对我来说是陌生的。

我有一个名为 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 文件中检测到音频实例已经在运行?

4

1 回答 1

1

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

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

  1. 将参数从 currentWindow 传递到 Titanium 中的新窗口

  2. 在窗口之间传递变量

于 2013-07-31T06:05:45.407 回答