Replies: 15 comments 1 reply
-
Definitely agree. This isn't the first time we have heard this feedback. I think we might have a look into a first-party component that can synchronize a |
Beta Was this translation helpful? Give feedback.
-
I'd like to bump this! Now that both SceneViewer (via url parameters) and QuickLook (via reality files) support synced audio clients start requesting it. |
Beta Was this translation helpful? Give feedback.
-
I think we would need to do a little extra work to make this go. My understanding is that for syncing audio, the ideal way would be to key the We are probably pretty close to enabling this, but I don't think it will work today via JS because updates to properties don't show up synchronously. |
Beta Was this translation helpful? Give feedback.
-
Are you able to put an ETA on "pretty close" (pretty close to being able to hack something in from our end)? Goal is to have the same behaviour on model-viewer, SceneViewer and QuickLook - a single looping animation with a single looping sound. (We have a project shipping end of February and I'd like to to figure out whether we can stay on model-viewer for that (which I'd like to do) or use something else as foundation.) |
Beta Was this translation helpful? Give feedback.
-
We are trying to get 1.0 shipped in the first quarter of this year. At this time, most new features that do not require breaking changes have been deprioritized and will be shipped post-1.0. Currently, this feature has not been prioritized at all. That's about as clear as I can be about the current state. Can you comment at all on the scope of the project that is shipping at the end of February? |
Beta Was this translation helpful? Give feedback.
-
(by scope I mean: number of live URLs, number of models etc.) |
Beta Was this translation helpful? Give feedback.
-
Understood. Scope is basically what I described - it's gonna be a single model on a single microsite, and it's gonna play a single looping animation and audio, as that's what we can get to work in SceneViewer/QuickLook as well. Basically, if the cute penguin's glb+ogg you can by now find through Google Search and open in SceneViewer would play synced sound in the web as well we'd be there :) Link to cute penguin |
Beta Was this translation helpful? Give feedback.
-
So, unlike most of our properties, you can currently read and write to I think the problem you might run into is that I'm not sure that we re-render when the model is paused and you update Once that works, you could theoretically glue an <audio id="sound" src="..."></audio>
<model-viewer id="modelViewer" animation-name="talk" src="..."></model-viewer>
<script>
sound.addEventListener('timeupdate', () => {
modelViewer.currentTime = audio.currentTime;
});
</script> In the long run, I would like to support something along the lines of: <model-viewer animation-name="talk" src="...">
<audio src="..." slot="synced-audio"></audio>
</model-viewer> So that no script is needed at all. |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot - that turned out to be super easy! https://pfc-modelviewer-audio-tests.glitch.me/ (controls are currently needed since Android does not allow autoplay of audio, works on desktop without the controls). I'll see if we run into the issue you described. |
Beta Was this translation helpful? Give feedback.
-
Hello, sorry to bump this topic, but I have a question for @hybridherbst and did not know how to contact him. |
Beta Was this translation helpful? Give feedback.
-
@cdata
I've searched around and saw some references to a Microsoft solution and Babylon, but interested in a solution |
Beta Was this translation helpful? Give feedback.
-
You can't embed audio within glb. So, to have cross-platform audio, you need to have 3 paths:
An example of how we solved that is here: Hope that helps, at some point I should probably make a PR with that example and some cleanup :) what do you think @elalish? |
Beta Was this translation helpful? Give feedback.
-
@hybridherbst Thank you so much. Yes this helps a great deal. I'll follow the example you listed in the Glitch. (coding skills are nil to low, but can follow via example) On a side note, barring the compression, i'm really curious how glb/gltf became a standard, given it does not yet support video textures on materials. But that's a topic for a different day. |
Beta Was this translation helpful? Give feedback.
-
Yes, currently the MSFT extension is the only way to embed audio. I would say gltf became a standard to grow :) starting simple and growing more complex over each version. |
Beta Was this translation helpful? Give feedback.
-
Thank you! this clears my doubts well! I hope the Model-viewer team consider implementing/supporting the MSFT extension. It would make life easier for synced animations and indeed, for me - short narrative stories, via WebXR. (Apple's a whole different beast and I've made my thoughts clear on it over twitter to Tim and gang. Not that they'll care) |
Beta Was this translation helpful? Give feedback.
-
The ability to support synced audio is required for rich experiences. Voice-over commentary/instructions/narrative, music or assistive ADA audio capability is very important. The implication is that an audio file would be bundled in with the experience and controls made available for both the creator and the user:
Beta Was this translation helpful? Give feedback.
All reactions