最新消息:新席地网:网页制作,360度全景摄影,微信营销推广,详情见:新席地网xxidi.com,电话:13913571631

krpano同一漫游下全局声音与场景声音的添加

全景 admin 15217浏览 0评论

需求:

背景音乐需要一直播放,无论切换场景与否,同时循环播放。另外每个场景都有自己的声音(解说词)。

解决方案:


<pre name="code" class="html"><krpano onstart="playsound(bg, backgroundmusic.mp3,0); loadscene(scene1,null,MERGE);">

<plugin name="soundinterface" url="soundinterface.swf" alturl="soundinterface.js" preload="true" />

<scene name="scene1">
 <events name="scene1events" onxmlcomplete="tween(sound[bg].volume, 0.5);playsound(scene1sound, scene1music.mp3,1,tween(sound[bg].volume, 1));" onremovepano="stopsound(scene1sound);" />
 ...
 </scene>

<scene name="scene2">
 <events name="scene2events" onxmlcomplete="tween(sound[bg].volume, 0.5);playsound(scene2sound, scene2music.mp3,1,tween(sound[bg].volume, 1));" onremovepano="stopsound(scene2sound);" />
 ...
 </scene>

</krpano>


详解:

 onstart="playsound(bg, backgroundmusic.mp3,0);

bg为声音的name属性,路径为XXXX.mp3,0代表循环播放。

<plugin name="soundinterface" url="%SWFPATH%/plugins/soundinterface.swf" alturl="%SWFPATH%/plugins/soundinterface.js" preload="true"  /> 

需要在漫游中播放声音必须有此段代码。preload=“true”确保soundinterface插件能够预载入,swf和js的两个文件保证了跨平台的顺利播放。此处注意置入正确路径。

 <pre name="code" class="html"><events name="scene1events" onxmlcomplete="tween(sound[bg].volume, 0.5);playsound(scene1sound, scene1music.mp3,1,tween(sound[bg].volume, 1));" onremovepano="stopsound(scene1sound);" />

该events标签写在scene内,可以看到这是一个keep为false的局部事件,每个事件都有自己的name属性,当一个新的scene载入时,viewer读取该scene全部的xml内容,也就是出现onxmlcomplete事件,这时候播放name为scene1sound的声音,注意路径为scene1music.mp3。当离开该场景也就是出现onremovepano事件时,停止播放name为scene1sound的声音。因此这是一个局部事件,因此该事件只在该scene的有效时间内有效。对于其他scene,使用同样的方法,注意路径和名字的正确。

tween(sound[bg].volume, 0.5)使得背景音乐在解说词刚开始播放时音量从1渐变至0.5,tween(sound[bg].volume, 1)为一个oncomplete的行为,也就是解说词播放完时,恢复背景音乐的音量为1.

 

 

提示:

 

iOS (iPhone / iPad) 注意事项

 
ios设备对于声音播放有额外的系统限制:
 
· 无法自动播放/自动开始
 
   无法自动播放一个声音!需要浏览者的交互行为来激活播放声音,例如触碰屏幕。krpano会自动检测该交互行为,因此无需特定设定一个按钮。
 
· 同一时刻只允许一个声音播放
 
    这意味着不可能在ios设备上实现两个声音以上的同时播放,当有新的playsound函数出现时,上一个声音就会自动停止。因此只能选择背景声音或者解说词的其中一种的运用。
 
· 音量无法改变。
 
    无法通过krpano对音量的控制来控制ios设备上的声音。

技术支持与需求:

请联系 QQ 178941086  注明“CSDN博客



分享到: 更多

转载请注明:梦寻天涯的博客 » krpano同一漫游下全局声音与场景声音的添加

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 大神,有可以控制场景结束和背景音乐的按钮嘛?
    wear off11个月前 (11-07)回复
    • 网上有很多,你搜索下!
      admin11个月前 (11-09)回复