getEnhancedMicrophone() doesn't work (reduce echo) on air mobile for IOS - ios

I have a problem with my flex mobile application on iOS. It is a video chat application with a red5 server.
The video works fine but the voice has a big echo! I tried using getEnhancedMicrophone() but it didn't help.
How can I have Acoustic Echo cancellation or suppression on IOS?
I work on Flash Builder 4.6 with Air 3.5

There no known solutions.
Adobe been promising a fix for years but the solution requires access to Android source code from Google that is not open source. I had the same issues with a videChat app on Android using Adobe Air. I tried as workaround:
Switching mic.setLoopback(false/true) in a timer to break up the audio
Trying to detect sound coming over NetStream and set the local device mic gain to 0
Problem is I cannot detect if someone is talking over NetStream.
Use NetStreamInfo audio properties like audioBytesPerSecond but these do not jump when someone is talking over NetStream.
The problem is solved if the user wears headphones on the mobile side but this is not acceptable.

Related

DLNA support for iOS video app

I am developing an video player app on iOS and I am now thinking about how to support DLNA so that my app can mirror its online video to the TV with some DLNA-supported device.
Notice that the online video is playing on my app via WIFI or cellular network and I could switch it to be played on TV and my app becomes a remote control and a server to the TV.
Which framework should I use?
I already know Cyberlink and PlatinumKit.
I have worked on DLNA with iOS and Android device. I did not used the Cyberlink or PlatinumKit. I learned how it works and write with swift and java.
Here is my blog about the subject, if you only want the part of DLNA to find DLNA device and stream the video to the device, then control events like play, pause and seek. You could find all the material you need here.
https://eliyar.biz/DLNA_with_iOS_Android/

Video Streaming in iOS through WebRTC

I am trying to build a audio/video streaming app that works cross platform on iOS and Android mobile devices.
No matter how deep I Google, I'm ending up with suggestions that point me towards OpenTok/TokBox API. But this is what I wish to avoid.
I've checked a few demo, but WebRTC/HTML5 do not seem to work with streaming video/audio in iOS browser. For example, the https://apprtc.appspot.com demo does not work in Safari or Opera Mini in iOS.
When I try http://dev.opera.com/articles/media-capture-in-mobile-browsers/demo/ ... I can capture image using the default iOS camera picker from my browser but streaming video fails.
It seems like the getUserMedia() stuff is not supported by any browser in iOS.
Moreover, I am planning to put this on a WebView in a native iOS app. This sounds like a really far cry.
I wish someone could point me towards something that helps me build a video streaming app (hopefully using HTML5), that works uniformly for iOS and android (without TokBox).
You might want to look into Ericsson's Bowser App http://www.ericsson.com/research-blog/context-aware-communication/bowser-openwebrtc-released-open-source. It claims to provide WebRTC on Android and IOS. Apparently the App is currently under review in the App Store so if you wait it may just be a case of downloading the App. However it's also open source so if you can't wait then you can build it yourself https://github.com/ericssonresearch/bowser.
getUserMedia and WebRTC Peer-to-peer connections APIs are not supported in iOS.
One of the reason is that at the moment efforts around WebRTC focus on VP8 video codec which Apple and Microsoft do not support natively. Support in the near future is unlikely with Microsoft pushing for its own standard.
Doing what you want on iOS requires you use a native iOS compatible solution like OpenCV which supports video capture. You can find on Google tutorials on how to implement a solution based on OpenCV.
good news, will be supported at Safari 11.0
https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Safari_11_0/Safari_11_0.html

Streaming AAC+ (inside FLV) on iOS using AIR

For a streaming radio station, I have an AAC+ audio stream, inside an FLV container, delivered via HTTP. An example URL is http://3023.live.streamtheworld.com/ALTROCK_S01A_AAC. I wrote a simple AIR app (using the latest AIR and Flex SDK's) to play this stream, and it works fine on PC and Android, but doesn't play anything when deployed to the iOS simulator or a device (i.e., the bytes are loaded but there is no sound).
This is similar to Can FLV AAC stream be played in Android, but for iOS.
I wanted to use AIR in this scenario, since I need to listen for the Cue Points in the FLV - and this is easy to do if you're playing Flash in a web browser, so AIR seems like the natural choice. I have also looked at http://code.google.com/p/haxecast/ and https://code.google.com/p/project-thunder-snow/ but they all seem to use the same basic idea (parse the FLV using Netstream in "data generation mode" and feed the AAC+ data to a Video object) - and so they all hit the same wall on iOS.
I also came across this post which seems possibly related although it's not quite the same situation (e.g., it's not FLV).
Is AIR on iOS supposed to support this scenario- namely, streaming AAC+/FLV audio via HTTP?
EDIT: This post also appears to hit the same obstacle - so a lot of people are asking about this situation. Anyone from Adobe have any insight?
After much further research I've concluded that AIR on iOS just doesn't support this, and you have to build a native app (or at least use framework other than AIR) instead.

Capturing Video on Mobile device using Adobe AIR

I am tasked with creating a video recording app for mobile devices (iPhone, iPad, Android) where the users are asked to record a short clip using their phones/tablets.
The video is then uploded to a server (either within the same app or a secondary app/site or via email)
Is it possible for an AIR app to record and save quality video and audio to the camera roll/gallery, or alternatively open the built-in video recorder app from the AIR app?
I am stuck between attempting this using Flash CS5.5 and deploy to iOS and Android using one code base, or building native apps and possibly duplicating my workload.
If I attempt the AIR route, will I hit problems with quality/resolution/usability etc? Or should I stick to building a native app? Time is of the essence too :)
I've done lots of research and not really found anything to swing my decision.
Thank in advance.
P

Why does my application audio stop working after turning off and turning on my tv?

I'm currently developing an application in XNA and using a TV with HDMI for video and audio. When I turn the TV off then on again the application audio ceases to work. However, system sounds do still work. Does anyone have any ideas on why this happens?
I'm using a motherboard with integrated Intel HD graphics to connect the TV and use it as a monitor.
Here is a link to a similar issue in regards to audio jack sensing in windows:
https://superuser.com/questions/249878/disable-windows-sound-card-jack-sensing
The same solution solved my problem:
Go to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E96C-E325-11CE-BFC1-08002BE10318}000\GlobalSettings
Change the value EnableDynamicDevices to zero.
Restart your system.
Hopefully this will help others that have issues with this and XNA in the future.

Resources