文章目录
HTML5-VR Audio Plugin init.xml, blank.png, demo folder HTML5 及 WebVR! (Oculus Rift, Google Cardboard, GearVR, …)
简介
该插件绝大多数功能与krpano官网的音频插件相似。对声音的控制可以直接从xml中实现。
注意事项
- 最新版本为3.2.3,可在ptp下运行。
- 仅能用于HTML5下且krpano版本不低于1.19 pr4
- 插件支持MP3与ogg格式,两种文件必须为相同的文件名且在同一路径中。
- 在支持Web Audio API的浏览器中表现最佳
- 设置range=360,声音播放会呈现全新的特效。
VR兼容性
在VR头戴设备中声音表现良好
安装
简单的安装方法
- 将 ‘html5sound‘ 文件夹复制到项目根目录下
- 在你的index.html的head部增加以下代码:
1234567891011<html><head>[...]<script src="html5sound/js/howler.core.min.js"></script><script src="html5sound/js/howler.effects.min.js"></script>[...]</head><body>[...]</body></html> - 在主xml中嵌入
12<include url="%FIRSTXML%/html5sound/xmls/init.xml"/><include url="%FIRSTXML%/html5sound/gui/xmls/init.xml" /> - 如果是Panotour Pro,嵌入
12345<!-- ptp_datafolder_name = name of the folder repository, generated by Panotour Pro --/><krpano ptp_datafolder_name="tourdata" generated_by_panotour="true"/><include url="%FIRSTXML%/html5sound/xmls/init.xml"/><include url="%FIRSTXML%/html5sound/gui/xmls/init.xml" /> - 完成
注意事项:
- 仅能用于HTML5下且krpano版本不低于1.19 pr4!
- 不要加密 html5sound文件夹中的 init.xml 文件
插件 Actions
- playHtml5sound(name, audiofile, loop*, volume*, oncomplete*)
- 播放声音文件
- name = 声音的唯一性名字
- audiofile = 没有后缀名的声音文件的路径和文件名
- loop = 是否循环 true/false (默认=false)(*可选)
- volume = 音量 (0.0 – 1.0, 默认=1.0)(*可选) (仅限于Web Audio Api)
- oncomplete = 声音播放结束后执行的动作 (*可选)
- playHtml5sound2D(keep, name, audiofile, rate*, volume*,loops*, onload*, onplay*,onpause*,onstop*,onmute*, oncomplete*)
- 播放声音文件
- keep = 如为true – 则在切换到下一个全景时保留该声音 (true/false, 默认=false)
- name = 声音的唯一性名字
- audiofile = 没有后缀名的声音文件的路径和文件名
- rate = 播放速率 (0.5 – 4.0, 默认 =1.0) (*可选) (仅限于Web Audio Api )
- volume = 音量 (0.0 – 1.0, 默认=1.0)(*可选) (仅限于Web Audio Api )
- loops = 是否循环 true/false (默认=false)(*可选)
- onload = 声音加载完毕时执行的动作 (*可选)
- onplay = 声音开始播放时执行的动作 (*可选)
- onpause = 声音暂停时执行的动作 (*可选)
- onstop = 声音停止时执行的动作(*可选)
- onmute = 声音在静音切换时执行的动作 (*可选)
- oncomplete = 声音结束播放时执行的动作 (*可选)
- playHtml5sound3D(keep, name, audiofile, ath, atv, range, rate*, volume*, loops*, onload*, onplay*, onpause*, onstop*, onmute*, oncomplete*) (仅限于Web Audio Api )
- 播放一个可调节音量和声像的声音
- keep = 如为true – 则在切换到下一个全景时保留该声音(true/false, 默认=false)
- name = 声音的唯一性名字
- audiofile = 没有后缀名的声音文件的路径和文件名
- ath = 音源位置的水平坐标 (-180 .. 180)
- atv = 音源位置的垂直坐标 (-90 .. +90)
- range = 声像范围 (以度数为单位, 10-360)
- rate = 播放速率 (0.5 – 4.0, 默认 =1.0) (*可选)
- volume = 音量 (0.0 – 1.0, 默认=1.0)(*可选)
- loops = 是否循环播放 true/false (默认=false)(*可选)
- onload = 声音加载完毕时执行的动作 (*可选)
- onplay = 声音开始播放时执行的动作 (*可选)
- onpause = 声音暂停时执行的动作 (*可选)
- onstop = 声音停止时执行的动作(*可选)
- onmute = 声音在静音切换时执行的动作 (*可选)
- oncomplete = 声音结束播放时执行的动作 (*可选)
- playHtml5sound3DHS(keep, name, audiofile, hotspotname, range, rate*, volume*, loops*, onload*, onplay*, onpause*, onstop*, onmute*, oncomplete*) (仅限于Web Audio Api )
- 在热点位置上播放一个方向性3D声音 – 当热点移动时声音跟随
- keep = 如为true – 则在切换到下一个全景时保留该声音 (true/false, 默认=false)
- name = 声音的唯一性名字
- audiofile = 没有后缀名的声音文件的路径和文件名
- hotspotname = 父元素热点的名字
- range = 音像范围 (以度数为单位, 10-360)
- rate = 播放速率 (0.5 – 4.0, 默认 =1.0) (*可选)
- volume = 音量 (0.0 – 1.0, 默认=1.0)(*可选)
- loops = true/false (默认=false)(*可选)
- onload = 声音加载完毕时执行的动作 (*可选)
- onplay = 声音开始播放时执行的动作 (*可选)
- onpause = 声音暂停时执行的动作 (*可选)
- onstop = 声音停止时执行的动作(*可选)
- onmute = 声音在静音切换时执行的动作 (*可选)
- oncomplete = 声音结束播放时执行的动作 (*可选)
- Html5Soundvolume(name, value) (仅限于Web Audio Api)
- 音量设置
- name = 声音的唯一性名字
- value = 数值 (0.0-1.0)
- Html5Soundplay(name)
- 恢复暂停的声音
- name = 声音的唯一性名字
- Html5Soundpause(name,variable)
- 暂停声音
- name = 声音的唯一性名字
- variable (非必需)= true 暂停 ,false 非暂停
Html5Soundpause(name,false);相当于Html5Soundplay(name);
- Html5Soundstop(name)
- 停止播放一个声音
- name = 声音的唯一性名字
- Html5Soundmute(name)
- 静音
- name = 声音的唯一性名字
- variable = true 静音开启 ,false 静音关闭
- Html5Soundrate(name, value) (仅限于Web Audio Api)
- 播放速率设置
- name = 声音的唯一性名字
- value = 0.5-4.0
- Html5SoundSetSeek(name, value) (仅限于Web Audio Api)
- 以秒为单位设置当前播放位置
- name = 声音的唯一性名字
- value = 秒
- Html5SoundGetSeek(name, dstvar) (仅限于Web Audio Api)
- 以秒为单位获取当前播放的位置
- name = 声音的唯一性名字
- dstvar = 存储结果的变量
1234<action name="getseeksound">Html5SoundGetSeek(mysoundname, myvar);trace('seek in sec: ',get(myvar));</action>
- Html5SoundGlobalmuted(variable)
- 对所有声音进行静音或非静音处理的全局动作。
- variable = true – 开启静音 variable = false 关闭静音
HTML5及iOS(iPhone/iPad)注意事项
插件可良好运行于iOS和安卓系统。
但无法自动播放。你需要手动触摸屏幕这样的互动开始播放声音。
WebVR注意事项
插件可良好运行于WebVR模式。
如果使用playHtml5sound3DHS,热点必须设置 distorted = true
例子
演示视频
链接:http://pan.baidu.com/s/1sk1uuUp 密码:ci2c
链接:http://pan.baidu.com/s/1mhjpSDU 密码:qxaz