うまくいけば、私はこの問題をうまく表現できます。私はTitanium Desktopのシンプルなオーディオプレーヤーで作業しています。今、自身が正常に動作pickMusicFolderとplaySong両方Javascriptの関数間で変数を渡す(Titanium Studio Desktop)
<input type="image" src="img/player_stop.png" name="stopPlayback" onClick="playSong.stopPlayback(songURL)" />
<input type="image" src="img/folder_add.png" name="pickMusicFolder" onClick="pickMusicFolder()" />
:
function pickMusicFolder(){
var win = Titanium.UI.getCurrentWindow();
win.openFolderChooserDialog(function(folderResponse) {
var file = Titanium.Filesystem.getFile(folderResponse[0]);
var listing = file.getDirectoryListing();
for (var i = 0; i < listing.length; i++) {
if (listing[i].isDirectory()) {
// if the listing is a directory, skip over it
$('#main').append('DIRECTORY: ' + listing[i].nativePath() +
'<br />');
// continue;
}
else {
// otherwise, print the filename of the file to the #main content window
var songOnList = listing[i].nativePath();
var songURL = songOnList.replace(/\\/g,"/");
$('#main ul').append('<li><a href="javascript:playSong(\'' + songURL + '\')">' + songURL + '</a></li>');
}
}
});
};
function playSong(songURL){
var currentSong = Titanium.Media.createSound(songURL);
currentSong.play();
this.stopPlayback = stopPlayback;
function stopPlayback(currentSong){
currentSong.stop();
}
}
をそして、関連するHTML:私は今に焦点を当てています主なコードは次のようです。しかし、stopPlaybackは機能しません。私はクリック可能なリンクを生成しているコードがpickMusicFolder関数内で完全に区切られているので、オーディオを再生したり停止したりするためのさまざまな関数を扱う方法を掴むのに苦労しています。再生は1つの別個のインターフェースボタンにのみ接続されています。
再生中(または再生中)に単独の曲を操作できるように、複数の機能間でsongURL変数にアクセスするだけで済みます。私はグローバル変数に頼っているのを避けています。
誰もが考えている?どんなヒントも大歓迎です!
function playSong(songURL){
var currentSong = Titanium.Media.createSound(songURL);
playSong.currentSong = currentSong; // store curernt playing song as property of function
currentSong.play();
}
playSong.stopPlayback = function() {
if (playSong.currentSong) {
playSong.currentSong.stop();
delete playSong.currentSong;
}
};
曲は以下となります。
申し訳ありませんが、わからないことがあります:現在再生中の曲の再生を停止するには、HTMLスニペットに表示されている「停止」ボタンが必要です。 playUongに添付されているsongURLプロパティをどのように持っているのか、私は完全にはわかりません。 –
私はコードを編集しています。playSong関数の2行目で、プロパティで再生している曲とstopPlaybackでこのプロパティを使用します。 –
ああ私の神。ありがとうございます、魅力のように動作します! –