【问题标题】:Can't play audio on Android - Sencha Touch SDK tools 2.0.0Android 无法播放音频 - Sencha Touch SDK 工具 2.0.0
【发布时间】:2013-01-03 19:46:50
【问题描述】:

我听说 Android 设备不播放 html5 格式的某些音频文件(例如它们支持 mp3 但不播放借助某些标准软件创建的文件:the link)。

我尝试了不同的变体,但没有一个适合我。

例如here 的标准示例:

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 音频?什么是最简单的解决方法?

【问题讨论】:

  • 您可能会遇到 mp3 文件本身或 html5 的问题,因此最好分别检查这两者。将文件加载到设备上的音乐库中,看看它是否会播放,或者尝试使用已经证明可以在本地播放的音频文件的网页。
  • @ChrisStratton 我已经在 Android 设备上用 2 个不同的浏览器测试了一个网页。播放器(音频标签)正常工作。那么,是煎茶触控产品的问题吗?
  • 您尚未指定工作案例和非工作案例之间的单个变量是什么。如果您有多个变量,那么您就没有有意义的测试。
  • @ChrisStratton 如果我理解正确,变量是使用 Sencha Touch 和它的 html 布局(面板)或使用其他东西。这时我才意识到Sencha的html布局实现有bug。或者可能是它使用了一些过时的库。但我不知道如何避免它。
  • 你在煎茶本地试过文件了吗?你试过别人的网页就可以了吗?

标签: android html sencha-touch sencha-touch-2 html5-audio


【解决方案1】:

Sencha Touch Audio 仅适用于 Android / Chrome 浏览器,不适用于设备。一种解决方案是使用Phonegap 包装您的应用程序,并使用Media 对象获取音频。很多麻烦,但大多数情况下它都有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多