diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java index b0bf654740779..abf85d7e47ac2 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java @@ -188,6 +188,37 @@ public class MediaVisualizerTest extends ActivityInstrumentationTestCase2 0); + log(msg, " engergy at max volume = "+energyAtVolMax); + + // check capture on sound with music volume lowered from max + am.setStreamVolume(AudioManager.STREAM_MUSIC, (volMax * 2) / 3, 0); + Thread.sleep(500); + mVisualizer.getWaveForm(data); + int energyAtLowerVol = computeEnergy(data, true); + assertTrue(msg +": getWaveForm at lower volume reads insufficient level", + energyAtLowerVol > 0); + log(msg, "energy at lower volume = "+energyAtLowerVol); + assertTrue(msg +": getWaveForm didn't report lower energy when volume decreases", + energyAtVolMax > energyAtLowerVol); + + result = true; + } catch (IllegalArgumentException e) { + msg = msg.concat(": IllegalArgumentException"); + loge(msg, " hit exception " + e); + } catch (UnsupportedOperationException e) { + msg = msg.concat(": UnsupportedOperationException"); + loge(msg, " hit exception " + e); + } catch (IllegalStateException e) { + msg = msg.concat("IllegalStateException"); + loge(msg, " hit exception " + e); + } catch (InterruptedException e) { + loge(msg, " sleep() interrupted"); + } + finally { + releaseVisualizer(); + if (mp != null) { + mp.release(); + } + if (vc != null) { + vc.release(); + } + am.setRingerMode(ringerMode); + } + assertTrue(msg, result); + } + //----------------------------------------------------------------- // private methods //----------------------------------