0
Answered
JNJ 3 weeks ago • updated by Gil Sideman 3 weeks ago 10

I visited sitepal.com/fullbody on my iPad using the Chrome browser and the avatar did not speak. Does site pal work on iOS devices in Chrome? If so, is it just the full body avatars that work?

Answer

Answer

Hi JNJ -

The Scene in your example does not have an audio assigned to it. Hence there is nothing for it to speak.


You have programmed the character to speak on receiving the vh_sceneLoaded callback. This works fine on the desktop, but not on mobile where the browser blocks audio and video from playing until the user interacts with the page.

However - when the user does "interact with the page" by pressing the play button, it re-plays the audio on the desktop but not on the mobile. Here's why.


The play button logic is as follows - when touched -

1. re-play the last audio played.

2. if no audio was played, play the audio assigned to the Scene.


In this case, on mobile devices, neither condition applies.


Here's a link to one of our API examples that does have an audio assigned to the Scene; this works fine on mobile -

http://www.oddcast.com/support1/replay_stop.html


Hope this helps,

Gil


Under review

Hi JNJ -


All SitePal are implemented in HTML5 and have been tested and verified to work on iOS and Android.

But I should add that you need to use the latest embed code from your account to gain this benefit.

If you embedded your character in your site a while ago, you may be using the (now deprecated) Flash embed code.

Some examples on our site have similarly not yet been updated and you may see a character play back in Flash. This will be cleared up soon enough.


Hope this helps

Gil


Hi Gil,

I re-added the embed code but the site pal still does not speak on pages opened on mobile devices (iPad and iPhone). Is there something in/not in the code that might prevent the site pal from speaking on mobile devices?

Hi JNJ -


Are you referring to "play on load" ?

Do the characters speak when you touch the play button?


Because if the issue is playback on load then that is due to a browser limitation on mobile.

Audio or video cannot be played in a mobile web page before the user "interacts" (ie touches) the page.

It's a difference between desktop and mobile.


If you character does not play at all (when clicking on the play button) then please post a link to your test page - I'd like to see it.

Best,

Gil



Here is a test. Even when I press the play button, nothing happens. Is there a special function that should be called to respond to the play button being pressed? I tested this on an iPad and an iPhone. http://jessicanjones.com/reading/usabilityStudy/testDraw.html

Answer

Hi JNJ -

The Scene in your example does not have an audio assigned to it. Hence there is nothing for it to speak.


You have programmed the character to speak on receiving the vh_sceneLoaded callback. This works fine on the desktop, but not on mobile where the browser blocks audio and video from playing until the user interacts with the page.

However - when the user does "interact with the page" by pressing the play button, it re-plays the audio on the desktop but not on the mobile. Here's why.


The play button logic is as follows - when touched -

1. re-play the last audio played.

2. if no audio was played, play the audio assigned to the Scene.


In this case, on mobile devices, neither condition applies.


Here's a link to one of our API examples that does have an audio assigned to the Scene; this works fine on mobile -

http://www.oddcast.com/support1/replay_stop.html


Hope this helps,

Gil


Would I assign the audio before I export the scene or could I do it dynamically? I'm guessing its the former and not the latter.

I think you mean "before I embed the Scene" (rather than 'export')

The order does not matter.

You can update/modify your scene at any time and the update is instantly reflected in any page where that Scene is embedded. You need not re-embed.

Maybe I'm confused about what you mean. How do I "assign" an audio to the scene? Is this different from calling the sayText function?

Yes, It is different.

Login to your account, select the Scene you want to edit, open the editor, and add (assign) an audio to the Scene.

You can add an audio by recording it, or by uploading an audio file, or select from previously added audios found in your audio library. You can also assign multiple audios to the Scene if you like. If you do so one of them will be selected at random.

Doing so does not preclude using the API (to make a call to sayText for example). Note that calling sayText does not 'assign' a different audio to the Scene.

Also note that once an audio is assigned to the Scene you can control whether that audio will be automatically spoken "on load" - in the Scene attributes. (Of course on mobile devices it will never speak on load). This will make it unnecessary for you to call sayText from the vh_sceneLoaded callback.

Hope this helps, please ask if unclear.

Best

Gil