kopia lustrzana https://github.com/sh123/codec2_talkie
rodzic
e9e5511fe7
commit
026e2798e9
|
@ -98,19 +98,16 @@ public class AppWorker extends Thread {
|
|||
|
||||
_processPeriodicTimer = new Timer();
|
||||
|
||||
constructSystemAudioDevices(transportType);
|
||||
int audioSource = Integer.parseInt(_sharedPreferences.getString(PreferenceKeys.APP_AUDIO_SOURCE, "6"));
|
||||
int audioDestination = Integer.parseInt(_sharedPreferences.getString(PreferenceKeys.APP_AUDIO_DESTINATION, "1"));
|
||||
constructSystemAudioDevices(transportType, audioSource, audioDestination);
|
||||
}
|
||||
|
||||
private void constructSystemAudioDevices(TransportFactory.TransportType transportType) {
|
||||
private void constructSystemAudioDevices(TransportFactory.TransportType transportType, int audioSource, int audioDestination) {
|
||||
int _audioRecorderMinBufferSize = AudioRecord.getMinBufferSize(
|
||||
AUDIO_SAMPLE_SIZE,
|
||||
AudioFormat.CHANNEL_IN_MONO,
|
||||
AudioFormat.ENCODING_PCM_16BIT);
|
||||
boolean isVoiceCommunication = _sharedPreferences.getBoolean(PreferenceKeys.APP_AUDIO_INPUT_VOICE_COMMUNICATION, false);
|
||||
int audioSource = MediaRecorder.AudioSource.MIC;
|
||||
if (isVoiceCommunication) {
|
||||
audioSource = MediaRecorder.AudioSource.VOICE_COMMUNICATION;
|
||||
}
|
||||
_systemAudioRecorder = new AudioRecord(
|
||||
audioSource,
|
||||
AUDIO_SAMPLE_SIZE,
|
||||
|
@ -122,15 +119,9 @@ public class AppWorker extends Thread {
|
|||
AUDIO_SAMPLE_SIZE,
|
||||
AudioFormat.CHANNEL_OUT_MONO,
|
||||
AudioFormat.ENCODING_PCM_16BIT);
|
||||
|
||||
boolean isSpeakerOutput = _sharedPreferences.getBoolean(PreferenceKeys.APP_AUDIO_OUTPUT_SPEAKER, true);
|
||||
int usage = AudioAttributes.USAGE_VOICE_COMMUNICATION;
|
||||
if (isSpeakerOutput) {
|
||||
usage = AudioAttributes.USAGE_MEDIA;
|
||||
}
|
||||
_systemAudioPlayer = new AudioTrack.Builder()
|
||||
.setAudioAttributes(new AudioAttributes.Builder()
|
||||
.setUsage(usage)
|
||||
.setUsage(audioDestination)
|
||||
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
|
||||
.build())
|
||||
.setAudioFormat(new AudioFormat.Builder()
|
||||
|
@ -144,7 +135,7 @@ public class AppWorker extends Thread {
|
|||
|
||||
// Use built in mic and speaker for speech when sound modem is in use
|
||||
if (transportType == TransportFactory.TransportType.SOUND_MODEM) {
|
||||
selectBuiltinMicAndSpeakerEarpiece(isSpeakerOutput);
|
||||
selectBuiltinMicAndSpeakerEarpiece(audioDestination != AudioAttributes.USAGE_VOICE_COMMUNICATION);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -61,10 +61,10 @@ public final class PreferenceKeys {
|
|||
public static String APP_KEEP_SCREEN_ON = "app_keep_screen_on";
|
||||
public static String APP_NO_LOCK = "app_no_lock";
|
||||
public static String APP_TURN_SCREEN_ON = "app_turn_screen_on";
|
||||
public static String APP_AUDIO_OUTPUT_SPEAKER = "app_audio_output_speaker";
|
||||
public static String APP_AUDIO_INPUT_VOICE_COMMUNICATION = "app_audio_input_voice_communication";
|
||||
public static String APP_NOTIFICATIONS_VOICE = "app_notifications_voice";
|
||||
public static String APP_NO_CPU_SLEEP = "app_no_cpu_sleep";
|
||||
public static String APP_AUDIO_SOURCE = "app_audio_source";
|
||||
public static String APP_AUDIO_DESTINATION = "app_audio_destination";
|
||||
|
||||
public static String AX25_VOAX25_ENABLE = "aprs_voax25_enable";
|
||||
public static String AX25_CALLSIGN = "aprs_callsign";
|
||||
|
|
|
@ -321,4 +321,6 @@
|
|||
<string name="ports_sound_modem_freedv_data_title">Select data mode</string>
|
||||
<string name="ports_sound_modem_audio_source_title">Audio source</string>
|
||||
<string name="ports_sound_modem_audio_destination_title">Audio output</string>
|
||||
<string name="app_audio_source_title">Audio source for speech</string>
|
||||
<string name="app_audio_destination_title">Audio output for speech</string>
|
||||
</resources>
|
|
@ -5,6 +5,24 @@
|
|||
app:key="app_category"
|
||||
app:title="@string/app_category_title">
|
||||
|
||||
<ListPreference
|
||||
app:key="app_audio_source"
|
||||
app:title="@string/app_audio_source_title"
|
||||
app:entries="@array/ports_sound_modem_audio_source_entries"
|
||||
app:entryValues="@array/ports_sound_modem_audio_source_values"
|
||||
app:defaultValue="0"
|
||||
app:summary="%s">
|
||||
</ListPreference>
|
||||
|
||||
<ListPreference
|
||||
app:key="app_audio_destination"
|
||||
app:title="@string/app_audio_destination_title"
|
||||
app:entries="@array/ports_sound_modem_audio_destination_entries"
|
||||
app:entryValues="@array/ports_sound_modem_audio_destination_values"
|
||||
app:defaultValue="1"
|
||||
app:summary="%s">
|
||||
</ListPreference>
|
||||
|
||||
<SwitchPreference
|
||||
app:key="app_volume_ptt"
|
||||
app:title="@string/app_volume_ptt_title"
|
||||
|
@ -41,20 +59,6 @@
|
|||
app:defaultValue="false">
|
||||
</SwitchPreference>
|
||||
|
||||
<SwitchPreference
|
||||
app:key="app_audio_output_speaker"
|
||||
app:title="@string/app_audio_output_speaker_title"
|
||||
app:summary="@string/app_audio_output_speaker_summary"
|
||||
app:defaultValue="true">
|
||||
</SwitchPreference>
|
||||
|
||||
<SwitchPreference
|
||||
app:key="app_audio_input_voice_communication"
|
||||
app:title="@string/app_audio_input_voice_communication_title"
|
||||
app:summary="@string/app_audio_input_voice_communication_summary"
|
||||
app:defaultValue="false">
|
||||
</SwitchPreference>
|
||||
|
||||
<SwitchPreference
|
||||
app:key="app_notifications_voice"
|
||||
app:title="@string/app_notifications_voice_enable_title"
|
||||
|
|
Ładowanie…
Reference in New Issue