2

Android デバイスは html5 の一部のオーディオ ファイルを再生しないと聞きました (たとえば、mp3 をサポートしていますが、いくつかの標準ソフトウェアを使用して作成されたファイルを再生しません:リンク)。

さまざまなバリエーションを試しましたが、誰もうまくいきませんでした。

たとえば、ここからの標準的な例:

Ext.create('Ext.Container', {
    fullscreen: true,
    layout: {
        type: 'vbox',
        pack: 'center'
    },
    items: [
        {
            xtype : 'toolbar',
            docked: 'top',
            title : 'Ext.Audio'
        },
        {
            xtype: 'toolbar',
            docked: 'bottom',
            defaults: {
                xtype: 'button',
                handler: function() {
                    var container = this.getParent().getParent(),
                        // use ComponentQuery to get the audio component (using its xtype)
                        audio = container.down('audio');

                    audio.toggle();
                    this.setText(audio.isPlaying() ? 'Pause' : 'Play');
                }
            },
            items: [
                { text: 'Play', flex: 1 }
            ]
        },
        {
            html: 'Hidden audio!',
            styleHtmlContent: true
        },
        {
            xtype : 'audio',
            hidden: true,
            url   : 'touch/examples/audio/crash.mp3'
        }
    ]
});

そしてhtmlのオーディオ:

<audio controls>
  <source src="resources/sound/1.mp3" type="audio/mpeg">
Can't play sound on your device.
</audio>

Chrome ブラウザーを使用してアプリケーションをデバッグすると、音が聞こえますが、実際のデバイス (Android 2.3.5) では聞こえません。

html バリアントの場合、スライダーがけいれんし、すぐに進行状況バーの最後にとどまることがわかります。「再生」ボタンの場合、音が出ないことを除いて、すべて正常に機能します (グラフィックス、再生/一時停止)。

サウンド用の特別な Android アクセス許可オプションが見つからなかったので、アクセス許可が理由ではないと思います。

質問です。私は間違っていますか、mp3 オーディオを再生することは可能ですか? 最も簡単な回避策は何ですか?

4

1 に答える 1

3

Sencha Touch Audio は Android / Chrome ブラウザでのみ動作し、デバイスでは動作しません。1 つの解決策は、アプリをPhonegapでラップし、オーディオにMediaオブジェクトを使用することです。面倒ですが、ほとんどの場合は機能します。

于 2013-01-03T11:46:50.150 に答える