0

初心者の質問のように見える場合は申し訳ありませんが、私はチタンを初めて使用するため、いくつかの概念は私にはなじみがありません。

require('entry.js') を使用して details.js から呼び出される entry.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 に答える