iPhone 上的 SoundManager2 - 声音无法在 jQuery Load 上播放

2024-04-22

我正在尝试使用 SoundManager2 作为 iPhone Web 应用程序的一部分,以便在使用 jQuery 提交表单后播放声音。播放的特定声音取决于结果,因此结果页面设置一个变量来标识要播放的声音文件。

这一切在桌面上运行都没有问题,但在 iPhone 上运行时却失败了。

iPhone 上的调试控制台显示它正在尝试...

1124: SMSound.play(): "ValidSound" is loading - attempting to play...
1124: SMSound.play(): "ValidSound" is starting to play
1124: setPosition(0): delaying, sound not ready
1124: HTML5::loadstart: ValidSound
1124: HTML5::suspend: ValidSound

...但每次都没有声音。

有什么想法可能导致此失败吗?我已经包含了主页的代码,以及使用 jQuery 返回的“响应”页面的示例:

Main

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="sm/script/soundmanager2.js"></script>
<script> 
soundManager.setup({

  url: 'sm/swf/',
  useHTML5Audio: true,

  onready: function() {

    soundManager.createSound({
      id: 'ValidSound',
      useHTML5Audio: true,
      preferFlash: false,
      url: 'http://www.example.com/example sound.mp3'
    });

  }

});
</script>

</head>

<body onload="window.top.scrollTo(0,1);">

<div class="scannerform">
  <form id="scanner" name="scanner" method="post" action="ok.php">
    <input type="text" name="scan" id="scan" />
    <input type="submit" name="button" id="button" value="Submit" />
  </form>
</div>

<div class="loadingDiv" id="loadingDiv">Loading...</div>
<div class="wrapper" id="wrapper"><div name="data" id="data"></div></div>

<script>
$('#loadingDiv')
    .hide()
    .ajaxStart(function() {
        $(this).show();
    })
    .ajaxStop(function() {
        $(this).hide();
    })
;

$("#scanner").submit(function(event) {

    $("#loadingImage").show();

    event.preventDefault(); 
    var $form = $( this ),
        scanned_data = $form.find( 'input[name="scan"]' ).val(),
        url = $form.attr( 'action' );

    $.post( url, { scanned_data: scanned_data },
      function( data ) {
          var content = $( data );
          $( "#data" ).empty().append( content );
          $("#loadingImage").hide();
          if (playSound) playSound();
          soundManager.play(SoundToPlay);
      }
    );
  });
  </script>
</body>
</html>

Response

<script>
function playSound()
{
  SoundToPlay="ValidSound";
}
</script>

<div id="example">Hello World</div>

感谢您的帮助!

J.


您知道 iPhone Safari 有声音限制吗?基本上,如果用户不以某种方式与页面交互(通过触摸屏),它就不会播放声音。 因此,请忘记通过“onLoad”或任何其他事件自动播放声音。

不过,使用 SoundManager2 和我的 iPhone,有时我发现它有点棘手。我很确定在我的应用程序中手指单击至少 1 次后(例如关闭初始 html 弹出窗口(基本上是),它会自动播放声音(甚至几次) ))

所以至少检查一下这条线索......

Tomasz

资源:

http://buildingwebapps.blogspot.com/2012/04/state-of-html5-audio-in-mobile-safari.html http://buildingwebapps.blogspot.com/2012/04/state-of-html5-audio-in-mobile-safari.html

http://blog.logicking.com/2012/03/cross-platform-sounds-for-html5-games.html http://blog.logicking.com/2012/03/cross-platform-sounds-for-html5-games.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone 上的 SoundManager2 - 声音无法在 jQuery Load 上播放 的相关文章

  • “canvas.toDataURL(“image/png”)”在 Firefox 中无法正常工作

    我有一个带有文件输入字段的网页 我想 上传图像文件 使用上传的图像创建图像元素 把它画在画布上 获取画布的 DataURL 此过程适用于 Google Chrome 但不适用于 Mozilla Firefox 当我 console log
  • 除非我在 HTML 中使用 标签加载图像,否则背景图像不会显示在 CSS 中

    我非常困惑为什么我的代码无法正确显示图像 这是我的代码 div p p div 只有图像的一小部分与文本一起显示 我很困惑为什么会发生这种情况 显示整个图像的唯一方法是在图像周围添加近 170 像素的填充 请有人帮忙 Thanks 你之前需
  • PhoneGap 上的 SQLite 数据库

    我想使用 PhoneGap 为 iPhone 实现 SQLite 数据库 我了解 iPhone 本机应用程序中 SQLite 数据库的一些基础知识 但是如何在 PhoneGap 中实现 SQLite 数据库呢 我们最终使用了PhoneGap
  • 您可以使用 JavaScript 触发自定义 HTML5 表单错误吗?

    如果我有一个像这样的输入
  • 使用 CSS Flexbox 堆叠图像

    我正在学习使用CSSflexbox 和我想在左侧渲染一个大图像 并在彼此之上渲染两个小图像 我怎样才能使用CSS弹性盒 div class container img class image1 src alt null img class
  • 使用 HTTP NSURL 创建 AVAsset

    我正在尝试合并两个NSURLs包含视频参考 其中一个 URL 指向 AWS 上的视频 另一个 URL 指向本地存储的视频 我的导出代码有效 因为我已经尝试使用两个本地视频 但每当我尝试合并 HTTP url 和本地 url 时 我都会收到此
  • 尽早检测有问题的 XIB 视图

    我的笔尖名称有一个拼写错误 当我推向导航控制器时 它在代码中被破坏了 弄清楚它并没有花太长时间 但我认为最好尽早断言格式良好 以便更容易弄清楚 问题是它不是零 它只是无法从笔尖正确地形成自己 在 initWithNib 之后是否有更好的断言
  • 如何在禁用状态下更改 UIButton 图像 alpha?

    我有一个带有图像的 UIButton 在其禁用状态下 该图像应具有 0 3 alpha UIButton button UIButton buttonWithType UIButtonTypeCustom UIImage arrowImag
  • 如何用按钮打开所有infoWIndows

    现在我想添加打开所有引脚弹出窗口的按钮 infoWindows 所以我添加功能openAllInfoWindows并添加infoWindows i open 命令 但是不起作用 HTML 代码 a href Close a a href O
  • 在 XCode 中本地化 HTML 文件

    我有一个本地化的 iOS 应用程序 我希望在其中包含一些本地化的 HTML 文件 我不知道该怎么做 目前 我的文件夹结构如下所示 myapp en lrproj Localizable strings fr lrproj Localizab
  • jquery 通过 div 选择复选框

    我想知道 jQuery 中是否有一种方法可以在有人单击整个 div 层时选中 取消选中复选框 本质上就像有一个巨大的选择区域 有任何想法吗 这是一个例子 我试图使复选框周围可单击以切换单个复选框 几乎如此 fieldset div div
  • UISearchDisplayController—为什么我的搜索结果视图包含空单元格?

    我快要疯了 在我的核心数据数据库中 我有很多用户 我已经通过 NSFetchedResultController 将数据库连接到 tableviewcontroller 当视图加载时 我看到了所有用户 我可以通过 Storyboard Se
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 带 CSS 网格的等宽侧边栏列

    是否可以让左右列具有相同的宽度 而中间列占据剩余空间 我不想设置像这样的百分比grid template columns 20 60 20 因为并不总是确定这些列的内容是什么 Flexbox 和表格似乎没有解决这个问题的方法 所以我再次尝试
  • 空 URL 哈希导致页面在 js 事件上跳转

    我有一个带有下一个和上一个按钮的照片库 如果我的某个 javascript 方法由于某种原因被破坏 那么当单击其中一个按钮时 它会向 url 添加一个哈希值 即 www google com 我知道可以给散列一个 div id 来跳转到页面
  • 测试 NSMutableArray 是否包含字符串对象

    我有一个NSMutableArray其中包含一些NSString对象 如何测试数组是否包含特定的字符串文字 I tried array containsObject teststring 但这行不通 你所做的应该很好 例如 NSArray
  • Objective-C 中 NSURL 为 null 而 NSString 是正确的

    我有一个NSString包含一个 url 以及当我分配时NSURL与NSString NSURL 输出 空 这是因为url中有一些非法字符 导致NSURL不编码就无法读取NSString包含网址 NSString u incomingUrl
  • FullCalendar 检查选择日是否有活动?

    我正在使用 Full Calendar js 插件 到目前为止一切顺利 但我想检查开始和结束之间的选择是否有事件 我只需要返回 true 或 false 基本上 如果日期选择中已经存在事件 我想阻止用户创建事件 var calendar c
  • 获取淘汰赛中被点击元素的索引

    获取无序列表中单击元素的索引的最佳方法是什么 让我举个例子 假设我有以下 HTML 代码 ul li p p li ul 现在我有以下 javascript 代码来获取索引 self itemClicked function data it
  • 为 UISlider 设置刻度线

    有没有为 UISlider 设置刻度线的方法 NSSlider 有一个叫做 void setNumberOfTickMarks NSInteger numberOfTickMarks 但 UISlider 似乎没有 我想要做的是将滑块值设置

随机推荐