Change maxcarlson-20101213-EKD by maxcarl...@friendly on 2010-12-13 12:39:11 PST
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: UPDATED: Warn when microphone is in use or can't be found.

Bugs Fixed: LPP-9580 - Action script error thrown caused by mcrophone

Technical Reviewer: [email protected]
QA Reviewer: hminsky

Details: I'm going to check this one in.  Updated to address Andre's comments:

According to my understanding of the flash docs, you only need to check 
"Microphone.names.length" to find out whether there are any microphones at all. 
From the changeset:
> + if (Microphone.names.length) {
> +   dev = flash.media.Microphone.getMicrophone();
> + }

That code may still produce a nullpointer-exception, namely in the case that 
there are microphone(s) installed, but the default microphone is in use 
("getMicrophone()" without the device-index parameter may return the default 
microphone although it's already in use, at least I don't see any indication 
that the opposite applies).
Therefore I'd think the change needs to be like so (untested!):

> dev = flash.media.Microphone.getMicrophone();
> if (dev == null) {
>   if ($debug) {
>     if (Microphone.names.length) {
> // warn default mic is in use
>     } else {
> // warn no mics found
>     }
>   }
>   return;
> }

Thanks for the great catch, as always!  Otherwise: 

Per the docs at 
http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001866.html
 check to be sure we get a microphone back and warn appropriately if we don't.

Tests: test/video/test-microphone.lzx?lzr=swf10&debug=true runs like before, 
but should warn if a microphone can't be found.

Files:
M       lps/components/extensions/av/microphone.lzx

Changeset: 
http://svn.openlaszlo.org/openlaszlo/patches/maxcarlson-20101213-EKD.tar

Reply via email to