【发布时间】: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