2012-03-08 155 views
1

我有这个Phonegap应用程序,在某些事件应播放音频文件。在iPad模拟器中尝试应用程序时听到此音频,但不在正确的iPad上(并且我确实知道正在听到其他声音)Phonegap:声音在模拟器中播放,但不在iPad中

我在头部包含了phonegap * .js:

<head> 
    <meta name = "viewport" content = "user-scalable=no,width=device-width" /> 
    <script 
     type="text/javascript" charset="utf-8" 
     src="scripts/phonegap-1.3.0.js"> 
    </script> 
    <script 
     type="text/javascript" 
     src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" > 
    </script> 
</head> 

,这是一个应该音频文件播放功能:

function playAudio(audio_file) { 
    switch (audio_file) { 
    case 'right': 
     new Media('media/audio/right.wav').play(); 
     break; 
    case 'timer' : 
     new Media('media/audio/timer.wav').play(); 
     break; 
    case 'complete': 
     new Media('media/audio/complete.wav').play(); 
     break; 
    } 
} 

的东西很简单。没有奇怪的格式,只是wavs。它可能是没有正确定义设备路径的东西吗?请记住:他们在模拟器中工作。即使在Safari中,他们也会提出“错误:试图在'deviceready'之前调用PhoneGap.exec()。忽略。”,所以它们被调用。

+0

我不做PhoneGap(但),但它听起来像'媒体'对象找不到.wav文件。如果有任何方法可以查询它们是否已成功加载或找到媒体文件,那么在播放它们之前应该这样做。 – 2012-03-08 08:45:35

+0

是“错误:尝试在'deviceready'之前调用PhoneGap.exec()。忽略”症状?或者从不同的测试场景?如果这是一个症状,这似乎很清楚 - 竞争条件,手机还没有准备好。 – djna 2012-03-08 08:48:10

+0

媒体对象能够在iPad模拟器中找到这些文件,但我会尝试查询它们并提供一些视觉反馈以防万一 - 感谢这个想法,迈克尔。 – Notnasiul 2012-03-08 13:34:54

回答

0

尝试将您的声音转换为mp3。你也可能想要本地化你的jQuery。你基本上需要连接你的应用程序工作...

+1

你说得对,我必须把jQuery放在本地文件上。我以为我已经做到了;) 我会尝试用mp3并报告回来。 – Notnasiul 2012-03-09 19:35:30

+0

是否为你工作? – 2012-03-11 17:27:29

+0

对不起德鲁,它没有工作。没有声音,但。我只是不知道自己做错了什么 - 我确信我的第一个测试中有一个完美无缺地工作。知道它可以在模拟器中工作,这更令人费解! :( – Notnasiul 2012-03-12 16:02:43

相关问题