0

今日はappmobiを始めます。私は音を扱うための小さな例を開発していました。

多くのサウンドを再生および停止するためのハンドラーを作成する必要がありました。

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

このコードは、xdkシミュレーター、Androidデバイスでも機能しますが、私のIphone5では機能しません。

タグを使用すると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ラボアプリは、safarimobileを使用してhtml5テストを実行していると思います。

だから、それはサファリのモバイル事件です。

onclickイベントによって起動されるとplay()が機能するようです。http://groups.google.com/group/iphonewebdev/browse_thread/thread/91e31ba7ae25e6d4?hl=enを参照してください

いくつかのテストを実行する必要があります...

于 2013-03-25T08:20:44.083 に答える
0

私はこれを試してみる必要があります:

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

HTML5オーディオのサポートは、従来のブラウザーはもちろんのこと、最新のブラウザーでは面倒な場合があります。さまざまなデバイスでモバイルSafariからIE6に至るまでのブラウザーを使用している実際の訪問者の場合、考慮すべき多くのサポートケースがあります。

SoundManager 2は、サポートされている場合はHTML5オーディオを使用し、必要に応じてオプションのFlashベースのフォールバックを使用して、新旧両方をサポートする単一の強力なAPIを提供します。理想的には、SoundManager 2を使用する場合、オーディオは「正しく機能します」。

于 2013-05-08T10:40:11.527 に答える