aboutsummaryrefslogtreecommitdiff
path: root/apps/OboeTester/app/src/main/java/com/mobileer/oboetester/AudioQueryTools.java
diff options
context:
space:
mode:
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.java24
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",