Hi,
There is no option to set the start angle of the audio. The plugin uses the current hlookat, vlookat, and camroll values of the krpano player and should always be synchronized with the viewing direction. To change the viewing direction, you can set the vlookat value, see <view.vlookat>
You will probably need to edit the audio and video tracks in an editing program so that the directions match.
regards
Posts by VRME
-
-
As you can see from your comparison tool, there is no significant difference between the tools you are comparing. It would be interesting to see how this tools performs in your comparison
-
We compared our Postshot results with the results from the Teleport tool, and the differences are huge, even without manual post-processing...
see other comparisons:
Teleport vs Alternatives: Compare reconstruction qualitySee how Teleport’s high-fidelity 3D reconstruction stacks up against leading tools. Explore side-by-side examples, download datasets, and experience the…teleport.varjo.com -
Hi,
try this MCP server for docs, maybe it will help youkrpanokrpano is a software or framework that uses XML to define settings for its viewer, enabling the creation and display of interactive panoramic images, virtual…context7.com -
the “home” button on the keyboard, should also work...
-
worth waiting for! pretty sure it will be one of the best GS player/viewer on the market with an outstanding feature set that no other player has...

-
Hi,
krpano funktioniert problemlos in einer Angular Umgebung. Dein Problem muss mit einer nicht lizenzierten krpano.js Datei zu tun haben. Binde krpano über die "angular.json" (unter "scripts") ein und stell sicher dass die dort angegebene "krpano.js" Datei lizenziert ist.
angular.json:
"scripts": [ "public/krpano/viewer/krpano.js" ]
app.component.ts:
declare var embedpano:any;
ngOnInit(): void {
embedpano(...)
}
app.component.html:
<div id="pano"></div> -
Hi,
you could use an idle time to restart your tourkrpano.idletime = "5";
krpano.events.onidle = "gotostart()"; //After 5 seconds without headset movement gotostart -
Edit : I tried with layer[name].childobjects.sortby(name,descending) but it returns unknown action
maybe something like this could be an alternative:
JavaScriptsortby('layer[name].childobjects', 'name','descending'); <action name="sortby" args="arrayname, arraykey, desc" type="Javascript"><![CDATA[ krpano.get(arrayname).sort((a, b) => {return desc==='descending'? a[arraykey].localeCompare(b[arraykey]) : b[arraykey].localeCompare(a[arraykey] );}); ]]></action> -
Hi,
you can use jscall() and jsget() actions for example:JavaScript
Display More<style name="button" padding="4 8" bgcolor="0xcccccc" color="white" width="100%"/> <layer type="container" x="200" y="200" flowchildren="v" childmargin="10" childflowspacing="10" width="200" bgborder="1"> <layer name="myinput" type="text" text="mystring" editable="true" padding="4 8" bgcolor="0xccccff" color="white" width="100%"/> <layer name="save" type="text" text="SAVE to sessionstorage" onclick="save_session" style="button"/> <layer name="load" type="text" text="LOAD from sessionstorage" onclick="load_session" style="button"/> <layer name="remove" type="text" text="REMOVE from sessionstorage" onclick="remove_session" style="button"/> </layer> <action name="save_session"> jscall(calc('sessionStorage.setItem("section", "'+get(layer[myinput].text)+'");')); </action> <action name="load_session"> jsget(section,'sessionStorage.getItem("section")'); set(layer[myinput].text, get(section)); </action> <action name="remove_session"> jscall('sessionStorage.removeItem("section");'); set(layer[myinput].text, ''); </action> -
Hello,
just wondering if there is a technical difference/advantage in using krpano.mergeCallbacks vs. Promises /async-await functions or if it provides the same functionality?
Thanks -
Thank you for your reply. What I want to achieve is to draw on the panoramic view. The solution I came up with is a transparent background and synchronized perspective, as hotspots cannot fill the screen, or the layer drawing board can partially meet the requirements
not sure if I understand, but the solution above allows you to draw on your panoramic view. just replace "yourpano.jpg" with yours
-
you can change the function draw_grid in canvas.js to insert your pano image:
-
Hi,
sorry I don't have any other footage available at the moment that would be more suitable for you
The demo is a short excerpt from a vr-theater with slightly edited/amplified audio. Please download the demo folder and insert your own spatial videos for testing, you just have to replace the file "2048_ambisonic.mp4"
thank you! -
... thanks, I've now realized that it's also possible to use the pano itself as a canvas, as the “pano-canvas” example shows here https://krpano.com/releases/1.22/…pano-canvas.xml , this possibility takes me further!

-
Hi,
yes, the plugin is intended to work together with the built-in krpano videoplayer “videoplayer.js” as a audio transform module. All you have to do is tell the plugin which video it should use via the attribute “videoname”:
JavaScript
Display More<plugin name="myvideo" url="/plugins/videoplayer.js" videourl="/ambisonic_files/4096_ambisonic.mp4" panovideo="true" /> <plugin name="spatialsound4krpano" url="/plugins/spatialsound4krpano.js" videoname="myvideo" format="6" />The plugin gets the audio on DOM level and should always be synchronized with the video if you do not perform any additional heavy calculations in the “onviewchange” event, see note in the krpano documentation.
You can also determine from which deltas soundupdates are calculated and which movements (yaw, pitch, camroll) should be taken into account. To test the plugin with your spatial footage you can use this demo template: https://vrme.eu/spatialsound4krpano/spatialsound4krpano.zipregards
-
more general: is there a way to save the current panorama view as a pixel image, i.e. like “krpano.webGL.makeScreenshot” but not only for a view section but for the entire pano as equirectangular image?
-
Hello,
is there any simple way to get the grid generated by krpano (krpano.image.preview grid) as a equirectangular pixel image or base64 string? i would use this image as a canvas to draw and then insert it again as sphere.
Thanks for hints! -
Hallo Klaus,
danke für deine Hilfe, es funktioniert alles perfekt wie es soll!, der Browsercache hat mir ein Bein gestellt...
Grüße! -
Hallo Klaus,
danke, das hat funktioniert.
2 Fragen hätte ich noch zum Thema:
Funktioniert das encrypten mit Custom keys nur für Javascriptdateien?
Wenn ich nämlich eine simple XML Datei damit damit encrypte und laden will, geht die Seite bei mir "Out of memory" und zwar unabhängig davon ob dem krpano viewer der Custom key über das Protection Tool und "Embed Custom Encryption " hinzugefügt wurde oder nicht. (Wird die selbe Datei mit einem publich key encrypted tritt das Problem nicht auf)
Beim Versuch eine JS Datei zu laden die mit einem custom key encryptet wurde, ohne dass dem Viewer der Custom key hinzugefügt wurde, wird die Datei zwar korrekterweise nicht geladen, jedoch erscheint in der krpano console die Meldung "ERROR: parsing 'plugins/test.js' failed:RangeError: Array buffer allocation failed" (bei der test.js handelt es sich um das plugin example https://krpano.com/viewsource.htm…luginexample.js)
Danke für Hinweise, falls nötig kann ich meine Testdateien posten
Grüße