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