2013-07-30 107 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