Ogg not working on some android devices


#1

Hello.

i have this code


const showhideptnplaypause_showplay = symbol.controllers.showhideptnplaypause.elements.showplay;
const showhideptnplaypause_showPause = symbol.controllers.showhideptnplaypause.elements.showPause;
const showhideltnplaypausePotoguase_showPlayP = symbol.controllers.showhideltnplaypausePotoguase.elements.showPlayP;
const showhideltnplaypausePotoguase_showPauseP = symbol.controllers.showhideltnplaypausePotoguase.elements.showPauseP;
const showhideltnplaypauseRussian_showPlay = symbol.controllers.showhideltnplaypauseRussian.elements.showPlay;
const showhideltnplaypauseRussian_showPause = symbol.controllers.showhideltnplaypauseRussian.elements.showPause;
const n1_ogg = symbol.nodes.n1_ogg;
const n2_ogg = symbol.nodes.n2_ogg;
const n3_ogg = symbol.nodes.n3_ogg;
const Button_20_ogg = symbol.nodes.Button_20_ogg;
const unitedstateactive_us_active = symbol.controllers.unitedstateactive.elements.us_active;
const unitedstateactive_not_active = symbol.controllers.unitedstateactive.elements.not_active;
const portogauseactive_porto_active = symbol.controllers.portogauseactive.elements.porto_active;
const portogauseactive_not_active = symbol.controllers.portogauseactive.elements.not_active;
const russianactive_russian_active = symbol.controllers.russianactive.elements.russian_active;
const russianactive_not_active = symbol.controllers.russianactive.elements.not_active;

parent.on(“pointerdown”, (e) => {
// Runs when pointerdown occurs on the parent node
// The argument e contains useful info about this event:
// https://docs.zap.works/studio/scripting/reference/object/events/pointerdown/
Button_20_ogg.restart();
Button_20_ogg.volume([0.05, 0.05]);

n1_ogg.start();
n2_ogg.pause();
n3_ogg.pause();

symbol.controllers.showhideptnplaypause.elements.showPause.activate();

symbol.controllers.unitedstateactive.elements.us_active.play();
symbol.controllers.russianactive.elements.not_active.activate();
symbol.controllers.portogauseactive.elements.not_active.activate();

symbol.controllers.showhideltnplaypausePotoguase.elements.showPlayP.activate();
symbol.controllers.showhideltnplaypauseRussian.elements.showPlay.activate();

});
symbol.nodes.n1_ogg.on(“finish”, () => {
// Runs when finish occurs on the 1.ogg node
n1_ogg.pause();

symbol.controllers.unitedstateactive.elements.not_active.activate();
symbol.controllers.portogauseactive.elements.not_active.activate();
symbol.controllers.russianactive.elements.not_active.activate();
showhideptnplaypause_showplay.activate();
symbol.controllers.showhideltnplaypauseRussian.elements.showPlay.activate();
symbol.controllers.showhideltnplaypausePotoguase.elements.showPlayP.activate();

	});

Simple code, to have 3 files ogg to play, I added some conditions that will play one and pause the second etc…
and I added an event handler when ogg finish, it will pause the ogg, and when you click again on play button it will play the ogg again.

but what I notice that on some Android devices when the ogg finish, it will pause, but when I will click play again, it not playing.

why this happen ? on IOS it working good, but android it not working on some devices!
Do you have an idea, please ?
attached the zpp file .

sounds1f.zip (3.4 MB)


#2

Hello i added this to the code before the pause
and it working good now

Blockquote

n1_ogg.restart();

Blockquote

symbol.nodes.n1_ogg.on(“finish”, () => {
// Runs when finish occurs on the 1.ogg node

n1_ogg.restart();

n1_ogg.pause();

}
mean before pause the ogg file, it will restart it, and then it will pause it.
And I think it solves the issue.

What do you think ?