返回上一个选项卡后停止声音

stop sounds after going back to the previous tab

我有一个简单的选项卡式应用程序,用户可以在其中单击一个按钮,然后视图将加载到显示图片和播放声音的活动选项卡中。 但是,如果用户点击后退按钮,声音不会停止播放。

如何让转到上一个视图时声音停止? 提前致谢!

我的index.js:

function viewSelectedItem() {
 
 var args = { image : 'images/photo/farm/chicken1.jpg', title : 'kip' };
  var win = Alloy.createController('viewItem', args).getView();
    Alloy.Globals.tabgroup.activeTab.open(win);
}

我的viewItem.js

var args = arguments[0] || {};

$.itemImage.image = args.image;
$.itemTextLabel.text = args.title;

var sound = Ti.Media.createSound({ 
    url: 'sounds/farm/chicken1.mp3'
});

sound.play();

我假设你的目标是 Android,每个 Alloy 控制器代表一个 Window。

您需要将 allowBackground 设置为 true 以允许音频在 Window 所属的 Activity 停止时继续播放,因为 Window已关闭。

http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Media.AudioPlayer-property-allowBackground

我是这样修复的:

    $.itemView.addEventListener('close', windowClosed);
    function windowClosed() {
      sound.stop();
    }