【问题标题】:AppMobi, html5 sound working on simulator and android but not in iphoneAppMobi,html5 声音在模拟器和 android 上工作,但在 iphone 上不工作
【发布时间】:2013-03-24 22:52:32
【问题描述】:

今天我开始使用 appmobi。我正在开发一个小例子来处理声音。

我只需要创建一个处理程序来播放和停止许多声音。

var audioOn = new Audio('sounds/11.mp3'); 
audioOn.play();

此代码在 xdk 模拟器中运行,也在 android 设备上运行,但在我的 Iphone 5 中不运行。

问题是,如果我使用标签,它可以在 iphone 上运行,但我想使用 javascript 原生 api 来处理声音等等。

我一直在尝试使用 appmobi 播放器库来处理它,但它没有停止、恢复等控件,这就是我想使用原生的方式。

这里是 javascript 代码的一部分:

<script type="text/javascript">
/* This function runs once the page is loaded, but appMobi is not yet active */
var init = function(){
var alarmButton = document.getElementById("alarmButton");
var on = false;
//var audioOn = new Audio('http://rpg.hamsterrepublic.com/wiki-images/3/3e/Heal8-Bit.ogg');

var audioOn = new Audio('sounds/11.mp3'); 
audioOn.addEventListener('ended', function() {
this.play();
}, false);

var but = function(){
alert("but");
alert(on);
alert(audioOn);

if(!on){
on = true;
audioOn.currentTime = 0;
audioOn.play(); 
}
else{
on = false;
audioOn.pause(); 
}
}
//alarmButton.addEventListener("click",but,false);
alarmButton.addEventListener("touchstart",but,false);
alarmButton.addEventListener("tap",but,false);

};

window.addEventListener("load",init,false);

/* This code prevents users from dragging the page */
var preventDefaultScroll = function(event) {
event.preventDefault();
window.scroll(0,0);
return false;
};
document.addEventListener('touchmove', preventDefaultScroll, false);

/* This code is used to run as soon as appMobi activates */
var onDeviceReady=function(){
//Size the display to 768px by 1024px
AppMobi.display.useViewport(768,1024);
//hide splash screen
AppMobi.device.hideSplashScreen(); 
};

document.addEventListener("appMobi.device.ready",onDeviceReady,false);

function echo(){
alert("clicked");
}

</script>

非常感谢

【问题讨论】:

标签: javascript html appmobi


【解决方案1】:

这似乎不是 appmobi 的问题。

我认为适用于 iphone 的 appmobi 实验室应用程序使用 safari mobile 来运行 html5 测试。

所以这是一个 Safari 移动事件。

似乎 play() 由 onclick 事件启动时起作用。见http://groups.google.com/group/iphonewebdev/browse_thread/thread/91e31ba7ae25e6d4?hl=en

需要进行一些测试...

【讨论】:

【解决方案2】:

我必须试试这个:

http://www.schillmania.com/projects/soundmanager2/

在现代浏览器中支持 HTML5 音频可能很乏味,更不用说 遗留的。真实世界的访问者使用的浏览器范围从 移动 Safari 到 IE 6 跨多种设备,可以有 许多支持案例需要考虑。

SoundManager 2 为您提供了一个单一的、强大的 API,它支持两个新的 和旧的,在支持和可选的基于 Flash 的情况下使用 HTML5 音频 在需要的地方回退。理想情况下,当使用 SoundManager 2 时,音频“只是 有效。”

【讨论】:

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