Audio buttons do not play on iPad (6th generation) iPad


(Michael Kolitsky) #1

Hi, I cannot get audio buttons made with Hype to play with mouseDown command on iPad (6th Generation) 2018 iPad. The same buttons play on the older iPads and iPad Pro and my MacBook Pro computer. I even ran a control and used the Drums.html app from Tumult’s gallery and can see a color change in a button indicating the touch is being picked up but no sound is produced even though the audio sound button is on high and the audio button that comes up after double clicking is also on high. I’ve turned off all Siri connections thinking that might be interfering in some way since the older iPad and iPad Pro does not have Siri. I’ve started to look at the html code to see if I can pick up any differences but no luck so far in that direction. Any help you can provide would be greatly appreciated.

Mike


#2

Can you make sure your iPad is not muted? Open control center and make sure that the Bell icon is not switched on:


(Michael Kolitsky) #3

Ah, yes, thought of that but checked again and the bell icon is clear with
no line through it so it should be on. Strange phenomenon!

Mike


(Michael Kolitsky) #4

Just found an old file I worked on prior to using Hype and the audio button did play.

<script type="text/javascript">           
 function playSound(SpindleFibers,soundfile) {               if (SpindleFibers.mp3) {                                      SpindleFibers.mp3.play();               }           }       </script>   
</head> <body>
<p><span onclick="playSound(this, 'SpindleFibers.mp3');"> <img src="anaphase4.png" name="Bottom-1" width="686" height="45" border="0" id="Bottom-1"/>     </span></p> 

So the iPad (nextgen) audio button does work if the proper javascript is in the code.
I have an appointment with an Apple Genius on Saturday and we’ll see what he or she says.


(Jonathan Deutsch) #5

Sadly, there’s a difference in how muting is respected with an <audio> tag and using the Web Audio API. Hype uses the Web Audio API when it can because it is lower latency and has more control over full preloading, but respects the device mute. The <audio> tag does not respect device mute.

(We are considering giving an option to choose between the two, although communicating the differences of the different methods is tricky!)


(Michael Kolitsky) #6

Thanks for the update on how muting is handled with the tag and I
agree sad because I thought I came up with the best answer for using audio
buttons in Flash when Apple stopped supporting Flash in iPads or iPad Pro.
I design audio-enriched tactile templates so that blind students can
place a 3D print of a microscope slide or anatomic section on an iPad with
Hype buttons so that when the student touches the 3D print, the audio
button tells the blind learner what they are touching. I just presented
at a conference at Princeton last week and will present at the National
Federation of the Blind next month and was asked to write a paper
describing my work for a journal aimed at accessibility support staff,
teachers and parents of blind learners. Check out
www.nextgenemedia.com/1107ConductiveInk.html for an example showing a
section of the human head and touch the left eye on the left but toward
the top on this side view for a audio feedback. The audio button works on
older iPads and the iPad Pro as well any computer running a web browser
except for the new iPad (nextgeneration) due to Hype’s first choice to use
the Web Audio API (I think that’s what you mention). Is there any way
that I can add some script or code to make it work for me once I make a
Hype graphic?

Mike


(Michael Kolitsky) #7

The visit with the Apple “Genius” yesterday solved the problem but it took
him about 45 minutes before he asked if I was downloading from my server
which I was. He then went to the symbol on the upper right which is a
rectangle with an arrow pointing up, opened it and scrolled to the
“Request Desktop Site”, selected it and the page reloaded and now the
audio buttons worked perfectly. He said that it is an iOS10 versus iOS11
thing and the problem arises in iOS11 because the download request to my
server downloads a file that is optimized for an iPhone, not a desktop so
the Hype buttons are not in their original spot on the screen. It is only
after downloading again using the “Request Desktop Site” that you get the
audio buttons in the same position that they are in when downloading to
the iPad using iOS10. This sounds a little like what you mentioned in
your last email about optimizing for the iPhone. I was also using as an
example the Tumult Hype Gallery of Projects, specifically the
tumult.com/hype/gallery/Drums/Drums.html site since it came closest to the
problem I was having at www.nextgenemedia.com/1107ConductiveInk.html.
None of the Drums audio buttons worked on the iPad (nextgeneration)
running iOS11 until I downloaded the page again using the “Request Desktop
Site”.

By the way, the Apple Genius was as excited as I was that he solved the
problem but now I have to ask if there is a way to make it easier for my
users to download active audio buttons in an iPad iOS11 environment
without having to find the “Request Desktop Site” to reload the file
again. Not sure if this is a Hype question or an Apple question but I’m
starting with you as I would like to be able to make it easier for
students who utilize audio-enriched tactile templates to just download a
file, place the 3D print on it and then touch it to learn rather than have
to reload the file again using the “Request Desktop Site” option.

Thanks for listening, we’re making progress so hope that your folks can
help me make Hype as seamless as possible for students (blind as well as
sighted) to use when using iPads running iOS11.

Mike


(Jonathan Deutsch) #10

I don’t think there’s any way to easily hack it to use your existing elements right now, though I would like to add an option to allow for changing methods in cases like this.

I did find this stackoverflow code that might work, but I haven’t tried it and seems pretty iffy that it would always be supported.

The workaround for right now to use the HTML5 <audio> method that isn’t based on the mute position is that you would need to write some code to trigger playback instead of using Hype’s built-in audio support. You can see how to it in this post:

This doesn’t make much sense to me; you don’t have different layouts or anything. Also, the document does work for me on iOS – when I touch the eyes it does say the right sound.

(I believe the drum example is old – the audio APIs have been in flux with browsers and that was exported in an older version of Hype. It has been updated!)