0

我在 Sencha touch 2.1 应用程序的 NestedList 的 detailsCard 中有一个 Ext.Audio 组件。点击 detailsCard 中的后退按钮时,我无法理解如何停止音频流。我也不明白如何只为 detailsCard 的后退按钮收听“后退按钮点击事件”。这是我的代码:

Ext.define('App.view.Lead', {
extend: 'Ext.NestedList',
xtype: 'lead',
config: {
   title: 'Lead',
   iconCls:'lead',
       store: 'LeadStore',
   displayField: 'title',
   detailCard: { html: 'details' }
},
getDetailCard: function(node) {
          if (node) {
              return {
                  xtype: 'container',
                  layout: 'fit',
                  items: [
                      {
                          xtype: 'panel',
                          layout:'fit',
                          html: node.get('text')     
                      },
                      {               
                          xtype: 'audio',
                          docked: 'bottom',
                          url  : node.get('audio'),
                          autoPause: true,
                      },
                      ]
              }
          } 
     }

});

提前致谢

4

1 回答 1

1

您可以为您的音频提供一个id配置以供参考:

{               
    xtype: 'audio',
    docked: 'bottom',
    url  : node.get('audio'),
    autoPause: true,
    id: 'audio'
}

要处理后退按钮,您可以使用嵌套列表的后退事件以及停止方法来停止音频:

back: function() {
    Ext.getCmp('audio').stop();
}

如果您使用itemId.

itemId: audio

然后你可以使用Ext.ComponentQuery来检索它:

Ext.ComponentQuery.query('#audio')[0].stop();
于 2013-02-25T06:18:46.300 回答