Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

510 + 606 + 592- IE bugs. Unsupported mime issues, IE not supporting … #720

Merged
merged 1 commit into from
May 19, 2017

Conversation

fabioelia
Copy link
Contributor

@fabioelia fabioelia commented Mar 16, 2017

…base64 audio nor Wav files, Audio clipping before ending

Unsupported mime issues & Base 64 Issues

Eventually once all the sound nodes are used up for a howl and it starts to recycle you will see a
Audio/Video: Unknown Mime type Issue-510
https://connect.microsoft.com/IE/feedbackdetail/view/833467/internet-explorer-11-cannot-play-audio-file-with-data-in-base64
http://hodentekhelp.blogspot.com/2014/03/how-to-code-audio-file-to-run-in-html5.html

Audio Clipping

We have seen that in IE when we are dealing with HTML nodes, if there is a delay in the network this can lead to audio getting clipped. The audio maybe chunked and return a duration value that howler is using to clip the sound. Instead for the audio nodes we should watch the native 'ended' event to know that the audio has stopped playing

Dangling Event listener

IE has a set limit to the number of audio nodes that can exist at a given time. In the current library it seems that this issue still exists, that nodes are not properly being removed. It seems as though the error listener that was being removed in the _errorListener was the wrong one. We listen for _errorFn for audio error events.
self._errorFn = self._errorListener.bind(self);

Related Issues

Issue-510
Issue-606 May need additional logic for sprite maps
Issue-592

…base64 audio nor Wav files, Audio clipping before ending
@@ -1479,7 +1479,6 @@
// Remove the source or disconnect.
if (!self._webAudio) {
// Set the source to 0-second silence to stop any downloading.
sounds[i]._node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This solves other legitimate issues and can't simply be removed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A better solution would be to only not run this on IE.

@fabioelia do you think that would work better?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is what we ended up doing in our project when we detected the browser as IE

@goldfire
Copy link
Owner

Thanks for the detailed report! I'm going to merge this in and then add the base64 line back in with an IE test as suggested.

@goldfire goldfire merged commit 772f7b9 into goldfire:master May 19, 2017
ringcrl pushed a commit to ringcrl/howler.js that referenced this pull request Apr 21, 2019
510 + 606 + 592- IE bugs. Unsupported mime issues, IE not supporting …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants