Panotour中的全球VR Videolayer

时间:2017-01-09 14:56:38

标签: javascript django virtual-reality krpano

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

我的问题是,每次加载一个新场景时,我都要触摸显示器,因为视频加载...... Panotour还解释说,这种行为是正常的

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

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

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

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

非常感谢你 亚历

Panotour Pro 2.5.5

1 个答案:

答案 0 :(得分:0)

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

我必须在第一个场景中加载所有视频斑点并将它们设置为alpha =" 0.0"。在第一次触摸时,进入vr模式的那个,我播放所有视频并使用javascript再次停止它们。此外,我已经设置了视频点以保持=" 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'); }