0

今天我开始使用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>

非常感谢

4

2 回答 2

0

似乎它不是 appmobi 问题。

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

所以这是一个野生动物园移动事件。

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

需要进行一些测试...

于 2013-03-25T08:20:44.083 回答
0

I have to try this:

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

Supporting HTML5 audio can be tedious in modern browsers, let alone legacy ones. With real-world visitors using browsers ranging from mobile Safari to IE 6 across a wide range of devices, there can be many support cases to consider.

SoundManager 2 gives you a single, powerful API that supports both new and old, using HTML5 audio where supported and optional Flash-based fallback where needed. Ideally when using SoundManager 2, audio "just works."

于 2013-05-08T10:40:11.527 回答