how to let Iphone load videojs using "vhs.xhr.beforeRequest"? - iphone

Facing an issue with Iphone only, that can't process what inside "beforeRequest", on any browser including chrome and firefox, otherwise on Ipad and android works as a rock.
I tried to use true and false for "overrideNative" also nothing.
tried to console inside "beforeRequest" on Iphone and there is no return.
I found this error on debugger:
ERRORVIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The media playback was aborted due to a corruption problem or because the media used features your browser did not support. [object Object]
player.tech({ IWillNotUseThisInPlugins: true }).vhs.xhr.beforeRequest = (options)=> console.log('beforeRequest'))
anyone has a solution ?

Unfortunately you can't. VHS is used to play HLS with Media Source Extensions, which iPhone doesn't not support. Only native playback is possible.

Related

How to play audio using Java Script on IPad?

I am trying to implement functionality to play an audio using Java Script. Its working fine on Google Chrome, Firefox and Other Browser. But when I try to play sound on iPad or iPhone or MAC I am getting below error.
Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
Below is my Sample Code.
var APlayer = document.createElement("AUDIO");
APlayer.setAttribute("controls", "controls");
APlayer.src = audioUrl;
APlayer.play();
Can any body help me to find out the solution.

Best Recommendation for Capturing Video in a Meteor App on iOS devices

I ran into this problem in Safari where it appears that WebRTC is not fully supported. So when I call
navigator.webkitGetuserMedia()
I get an undefined error.
So my question to the community is what is the best way to write a Meteor app that captures Video on a mobile device and saves it on the said device.
If you have done this, I would appreciate it very much if you could share with me and the community how you went about this.
Specific Answer
The modern API is: navigator.mediaDevices.getUserMedia(constraints). See the docs here.
In the past, I've been unsuccessful with getUserMedia on iOS, but according to this post it can be done on iOS 11.
As for saving it, you can write to the browser's file system, but that API is only supported in Chrome. If you want to write to the camera roll, you'd need native code in the mix.
General Advice
I've spent several years of my life dealing with recording, uploading, and processing video using meteor. If you are doing anything more than trivial web recording, these observations may save you some time:
Chrome (on everything but iOS) has the best API for web recording. If you can require chrome for recording, that's ideal. Firefox is a close second, only because it doesn't support the file system API.
If you need to record and upload long videos on iOS, build a native app. Don't consider any kind of hybrid - that's a serious trap. The number of corner cases and things you need to check is pretty astounding, and the only way to get over those hurdles is with native code.

Mp4 video not working on iPad *in Offline Mode*

I'm getting a weird problem when embedding an mp4 onto a webpage in iOS Safari. I am embedding it with a video tag:
<video src='gizmo.mp4' width=560 height=320></video>
However, on the page, I'm getting the 'video not available' placeholder graphic (play button with a slash through it)
However, when I go to the direct video on my server (http://www.example.com/gizmo.mp4), the video works perfectly.
I am using the video from here to test this out, I don't have the final video files yet. I have also replaced the gizmo.mp4 file with a gizmo.m4v file that Quicktime generated when I hit "Export for Web." I get the same result.
I am only interested in targeting iOS, so specific solutions for iPhone/iPad are welcome (even if they wouldn't work in the web at large)
Thanks in advance!
-Esa
EDIT: Did a bit more testing. Since this is an offline app that I am working on, I was completely offline for this, relying on the manifest. However, the videos worked once I took the manifest out and was working completely online again. So it looks like something up with iOS not caching video resources? The video in question is 748kB, so it's not a cache size issue (though, when I tries with a 13MB movie online, Safari automatically asked to cache the content)
Videos are regarded by the browser as a streaming resource and are not cached - even when referenced directly in the .appcache manifest file. I think the only way you could get this to work is to package the HTML 5 application up as a native app, using one of the many available tools for this (https://trigger.io, Accelerator etc).

Playing movie in iOS applicatione made in Flex

I'm writing the application for iOS in Flex (sdk 4.5). Is it possible to play movie in such built application?
I was trying to use Video component - which works well on my desktop, but it doesn't work on my iPod. Of course my application is running, but the video isn't playing.
I think I have final results:
It is possible to play video in iOS app written for AIR 2.6 but it can't be decoded by using h.264 video and acc audio codecs.
For me it was working when video was decoded by using vp6 codec and standard Video component. There is an issue with low frame rate which can be partially resolved when setting renderMode to gpu in descriptor file, however as you can see here it's not recommended.
P.S. Thanks for help J_A_X.
I would recommend that instead of trying to play the video internal to your application, you just link to it and let the native OS handle it. The OS will either open up a browser to play the file or launch a native app to handle it.
Have you tried to use the StageVideo class? It's new in 10.2 and meant to utilize full hardware acceleration. Follow this tutorial for more information.

Voice Recording/Playback on Web for mobile(Android, iOS, BB)

I am working on a website that works across all mobile browsers specifically Android, iOS and BB. I have used the experimental jQuery mobile for the consistent look and feel. One of the pages require audio to be recorded and played back for this I did some research and found that HTML5 has support for this but still part of the spec so it may not available on these browsers yet, so I was wondering if there is any workaround for this. I atleast know of one such application that captures audio and its Google Voice for iPhone and I read somewhere that they use HTML5 so does that mean safari has support for HTML5 audio capture? Please suggest.
For audio playback, you can use this test page on all of your supported platforms and browsers. It should confirm which HTML5 audio playback constructs will work:
http://www.jplayer.org/HTML5.Audio.Support/
It sounds like there are issues with even getting playback to work on Android, see here for info:
http://textopiablog.wordpress.com/2010/06/25/browser-support-for-html5-audio/
I haven't seen anything about current browser support for audio recording through HTML5. You could try Java or Flash, but Java requires the user to have it installed (and accept suitable permissions), and Flash requires you to set up a server for the data to be sent to (e.g. Red5)...and remember that Flash does not work on iOS.