0

我正在创建一个虚拟全景之旅,其中包含与热点链接的几个不同全景图。在每个全景图上,我都有一个播放视频的视频热点。

我的问题是,每次加载新场景时,我都必须触摸显示屏才能加载视频……Panotour 还解释说,这种行为是正常的

现在我正在寻找一个解决方案,我可以在进入 vr 模式时第一次触摸播放/停止所有视频......我已经创建了一个包含所有视频的数组,并让它们在第一次触摸后播放/停止但是它只是从第一个场景加载视频,而不是从所有其他场景加载视频。

我还尝试制作一个全局图层并在播放按钮上使用 javascript 插入视频源和位置,但全局图层不在 VR 立体模式下

我尝试将所有视频热点放在第一个场景上,但这也不起作用,因为它不允许 2 个具有相同 ID 的热点。

有谁知道如何在进入 vr 模式的第一次触摸时播放所有视频?

非常感谢亚历克斯

全景图 Pro 2.5.5

4

1 回答 1

1

对于任何寻找相同答案的人,我已经设法在整个巡回演出中播放视频......我有 5 个不同的场景,上面有视频,它适用于所有设备

我必须加载第一个场景中的所有视频点并将它们设置为 alpha="0.0"。在第一次触摸时,进入 vr 模式,我播放所有视频并再次使用 javascript 停止它们......此外,我已将 videohotspots 设置为 keep="true",以便它们在全景更改后保持不变。 .. 然后我检查加载了哪个场景并将视频设置为 alpha="1.0"...

更大的部分是将所有视频设置在它们应该在第二、第三场景中的正确位置......所以我手动更改了 index_vr.xml 中的设置......这需要很多时间但它可以工作...... . 我已经导出了包含正确场景中的视频的整个巡演,以便我拥有正确的设置(ath、atv、width、height、rx、ry、rz),然后我导出了包含所有视频的巡演第一个场景

下一个问题是视频声音只是在主场景内播放,而不是视频应该显示的地方......所以我导出了没有声音的视频,并用javascript在体内创建了一些html5音频标签......加载时我播放并暂停它们,然后我可以用 javascript 控制它们。因此,当我同时播放视频时,它会播放音频。

这是一个很大的解决方法,它工作得非常好

玩得开心

function player(){
    if(tourplayer == null){
        tourplayer = document.getElementById('krpanoSWFObject');
    }   
return tourplayer; } 

var _objIDs = ['spotvideo2869','spotvideo2870','spotvideo2871','spotvideo2872','spotvideo2873','spotvideo2874','spotvideo2875','spotvideo2876','spotvideo2877','spotvideo2878'];

$.each(_objIDs,function(index,value){
    player().call('hotspot['+value+'].play()');
    player().call('hotspot['+value+'].stop()');
});

$.each(_videoSounds,function(index,value){
    $('#container').prepend(
        '<audio preload="auto" controls style="display: none" id="'+index+'_sound"><source src="indexdata/sounds/'+value+'" type="audio/mpeg"></audio>'
    );      
    document.getElementById(index+'_sound').muted = false;
}); 

function playVideoSound(videoID) {
$.each(_videoSounds,function(index,value){
    $('#'+index+'_sound').trigger('pause');
});
$('#'+videoID+'_sound').trigger('play'); }
于 2017-01-16T12:43:06.850 回答