收藏
回答

小游戏中,用户未交互时不会播放声音

背景情况:

Unity WebGL项目通过使用“微信小游戏团结/Unity适配方案”转换为微信小游戏项目,音频部分通过FMOD管理。

根据Unity WebGL官方文档以及FMOD官方文档,均表明了需要用户交互后才会播放声音,不交互则不播放声音。

根据观察,很多微信小游戏似乎都没有这种限制,进入小游戏后都是可以在无交互的前提下开始播放声音的。

那么具体绕开这个限制的方式是什么呢?

最后一次编辑于  2024-06-12
回答关注问题邀请回答
收藏

2 个回答

  • 专业的人格面具持有者
    专业的人格面具持有者
    2024-06-12

    如果真的是这样的话要么你看的游戏用的不是unity,要么音频播放的接口直接用的是微信的音频播放接口

    2024-06-12
    有用 1
    回复 6
    • 御琪幽然
      御琪幽然
      2024-06-12
      这个就不太清楚转换工具内部是怎么实现的了,那边是写了支持FMOD的,我猜测应该是用微信的音频接口做了一层包装
      2024-06-12
      回复
    • 御琪幽然
      御琪幽然
      2024-06-12
      看微信的demo,感觉微信的音频接口是支持这个功能的,很可能是转换后的FMOD音频不支持这么操作。
      2024-06-12
      回复
    • 专业的人格面具持有者
      专业的人格面具持有者
      2024-06-12回复御琪幽然
      我的意思是不用FMOD直接用微信的音频接口不就绕过去了嘛
      2024-06-12
      回复
    • 御琪幽然
      御琪幽然
      2024-06-12回复专业的人格面具持有者
      因为多平台嘛,所以想同时兼容客户端和小游戏,抛弃FMOD的话就会有比较大的成本,如果能简单解决这个问题的话就不需要再重新做一套音频了
      2024-06-12
      回复
    • 专业的人格面具持有者
      专业的人格面具持有者
      2024-06-12回复御琪幽然
      阿这,不太理解,那不是其他平台不也有这个问题吗?
      2024-06-12
      回复
    查看更多(1)
  • 御琪幽然
    御琪幽然
    2024-06-12

    补充一下文档链接:

    ——————

    https://developers.weixin.qq.com/minigame/dev/guide/framework/audio/wxAudioQuickStart.html

    ——————

    https://docs.unity3d.com/Manual/webgl-audio.html

    Audio Playback and Browser Security

    For security reasons, browsers don’t allow audio playback until an

    end user interacts with your application webpage via a mouse click,

    touch event or key press. Use a loading screen to allow the end user to

    interact with your application and start audio playback before your main

    content begins.

    ——————

    FMOD - Platform Details | HTML5 (user interaction requirement)

    User interaction requirement

    Most browsers have a user interaction requirement, or audio will not be audible.

    This was implemented to stop unscrupulous websites from auto playing audio in things like advertisements.

    FMOD output will become audible upon detecting a user interaction.



    2024-06-12
    有用
    回复
登录 后发表内容