diff options
Diffstat (limited to 'apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java')
-rw-r--r-- | apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java index 421d098b..a4dd6fc4 100644 --- a/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java +++ b/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java @@ -23,6 +23,7 @@ import android.os.Build; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.util.Locale; public class AudioQueryTools { private static String GETPROP_EXECUTABLE_PATH = "/system/bin/getprop"; @@ -58,6 +59,10 @@ public class AudioQueryTools { + packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_PRO)); report.append("\nLowLatency Feature : " + packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_LOW_LATENCY)); + report.append("\nAudio Output Feature : " + + packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT)); + report.append("\nMicrophone Feature : " + + packageManager.hasSystemFeature(PackageManager.FEATURE_MICROPHONE)); report.append("\nMIDI Feature : " + packageManager.hasSystemFeature(PackageManager.FEATURE_MIDI)); report.append("\nUSB Host Feature : " @@ -69,14 +74,24 @@ public class AudioQueryTools { public static String getAudioManagerReport(AudioManager audioManager) { StringBuffer report = new StringBuffer(); - String unprocessedSupport = audioManager.getParameters(AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED); - report.append("\nSUPPORT_UNPROCESSED : " + ((unprocessedSupport == null) ? "null" : "yes")); + String unprocessedSupport = audioManager.getProperty( + AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED); + report.append("\nSUPPORT_AUDIO_SOURCE_UNPROCESSED : " + ((unprocessedSupport == null) ? + "null" : unprocessedSupport)); + String outputFramesPerBuffer = audioManager.getProperty( + AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER); + report.append("\nOUTPUT_FRAMES_PER_BUFFER : " + ((outputFramesPerBuffer == null) ? + "null" : outputFramesPerBuffer)); + String outputSampleRate = audioManager.getProperty( + AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE); + report.append("\nOUTPUT_SAMPLE_RATE : " + ((outputSampleRate == null) ? "null" : + outputSampleRate)); return report.toString(); } private static String formatKeyValueLine(String key, String value) { int numSpaces = Math.max(1, 21 - key.length()); - String spaces = String.format("%0" + numSpaces + "d", 0).replace("0", " "); + String spaces = String.format(Locale.getDefault(), "%0" + numSpaces + "d", 0).replace("0", " "); return "\n" + key + spaces + ": " + value; } @@ -112,6 +127,9 @@ public class AudioQueryTools { } public static String getMediaPerformanceClass() { + if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.S) { + return formatKeyValueLine("Media Perf Class", "not supported"); + } int mpc = Build.VERSION.MEDIA_PERFORMANCE_CLASS; String text = (mpc == 0) ? "not declared" : convertSdkToShortName(mpc); return formatKeyValueLine("Media Perf Class", |