Merge branch 'audiorecorder-3.0.12'

This commit is contained in:
Alexey Kuznetsov 2017-07-02 23:21:45 +03:00
commit f09295e488
13 changed files with 187 additions and 58 deletions

View file

@ -8,8 +8,8 @@ android {
applicationId "com.github.axet.audiorecorder"
minSdkVersion 9
targetSdkVersion 23
versionCode 176
versionName "3.0.11"
versionCode 177
versionName "3.0.12"
}
signingConfigs {
release {
@ -43,5 +43,5 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.github.axet:android-audio-library:1.0.11' // compile project(':android-audio-library')
compile 'com.github.axet:android-audio-library:1.0.12' // compile project(':android-audio-library')
}

View file

@ -40,7 +40,6 @@ import android.widget.Toast;
import com.github.axet.androidlibrary.animations.MarginBottomAnimation;
import com.github.axet.androidlibrary.sound.AudioTrack;
import com.github.axet.audiolibrary.app.RawSamples;
import com.github.axet.audiolibrary.app.Recordings;
import com.github.axet.audiolibrary.app.Sound;
import com.github.axet.audiolibrary.encoders.Encoder;
import com.github.axet.audiolibrary.encoders.EncoderInfo;
@ -59,8 +58,6 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.ShortBuffer;
public class RecordingActivity extends AppCompatActivity {
@ -257,7 +254,7 @@ public class RecordingActivity extends AppCompatActivity {
public void onClick(View v) {
if (encoder != null)
return;
stopRecording(getString(R.string.encoding));
stopRecording(getString(R.string.recording_status_encoding));
try {
encoding(new Runnable() {
@Override
@ -275,7 +272,7 @@ public class RecordingActivity extends AppCompatActivity {
if (a != null && a.equals(START_PAUSE)) {
// pretend we already start it
start = false;
stopRecording(getString(R.string.pause));
stopRecording(getString(R.string.recording_status_pause));
}
receiver = new RecordingReceiver();
@ -333,7 +330,7 @@ public class RecordingActivity extends AppCompatActivity {
void pauseButton() {
if (thread != null) {
stopRecording(getString(R.string.pause));
stopRecording(getString(R.string.recording_status_pause));
} else {
editCut();
@ -410,7 +407,7 @@ public class RecordingActivity extends AppCompatActivity {
void edit(boolean show, boolean animate) {
if (show) {
setState(getString(R.string.edit));
setState(getString(R.string.recording_status_edit));
editPlay(false);
View box = findViewById(R.id.recording_edit_box);
@ -445,7 +442,7 @@ public class RecordingActivity extends AppCompatActivity {
});
} else {
editSample = -1;
setState(getString(R.string.pause));
setState(getString(R.string.recording_status_pause));
editPlay(false);
pitch.edit(-1);
pitch.stop();
@ -549,7 +546,7 @@ public class RecordingActivity extends AppCompatActivity {
void cancelDialog(final Runnable run, final Runnable cancel) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.confirm_cancel);
builder.setMessage(R.string.are_you_sure_cancel);
builder.setMessage(R.string.are_you_sure);
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@ -607,7 +604,7 @@ public class RecordingActivity extends AppCompatActivity {
edit(false, true);
pitch.setOnTouchListener(null);
setState(getString(R.string.recording));
setState(getString(R.string.recording_status_recording));
sound.silent();

View file

@ -45,7 +45,7 @@ public class RecordingService extends Service {
public static String PAUSE_BUTTON = RecordingService.class.getCanonicalName() + ".PAUSE_BUTTON";
public static String RECORD_BUTTON = RecordingService.class.getCanonicalName() + ".RECORD_BUTTON";
Storage storage = new Storage(this); // for storage path
Storage storage; // for storage path
public static void startIfEnabled(Context context) {
SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
@ -98,6 +98,9 @@ public class RecordingService extends Service {
public void onCreate() {
super.onCreate();
Log.d(TAG, "onCreate");
storage = new Storage(this);
startForeground(NOTIFICATION_RECORDING_ICON, build(new Intent()));
}
@ -199,6 +202,7 @@ public class RecordingService extends Service {
view.setTextViewText(R.id.notification_text, text);
view.setOnClickPendingIntent(R.id.notification_pause, pe);
view.setImageViewResource(R.id.notification_pause, !recording ? R.drawable.ic_play_arrow_black_24dp : R.drawable.ic_pause_black_24dp);
view.setContentDescription(R.id.notification_pause, getString(!recording ? R.string.record_button : R.string.pause_button));
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setOngoing(true)

View file

@ -5,7 +5,7 @@
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
android:title="@string/menu_settings"
app:showAsAction="never" />
<item
android:id="@+id/action_show_folder"
@ -15,6 +15,6 @@
<item
android:id="@+id/action_about"
android:orderInCategory="100"
android:title="@string/about"
android:title="@string/menu_about"
app:showAsAction="never" />
</menu>

View file

@ -0,0 +1,25 @@
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="source" href="https://en.wikipedia.org/wiki/Binaural_beats"/>
<style>
a { white-space: pre-wrap; word-wrap:break-word; }
</style>
</head>
<body>
<h3>O programe</h3>
<p>
Priateľský k systému Android!
</p>
<p>Nahrávač zvuku s nastaviteľným priečinkom pre nahrávky, pekným indikátorom hlasitosti počas nahrávania, notifikáciou o priebehu nahrávania, ovládacími prvkami na uzamikacej obrazovke.</p>
<dl>
<dt><b>Licencia:</b></dt>
<dd>GPLv3</dd>
<dt><b>Zdrojový kód:</b></dt>
<dd><a href="https://gitlab.com/axet/android-audio-recorder">https://gitlab.com/axet/android-audio-recorder</a>
</dd>
</dl>
</body>
</html>

View file

@ -21,16 +21,14 @@
<item>Stereo</item>
</string-array>
<string name="action_settings">Einstellungen</string>
<string name="not_permitted">Nicht erlaubt</string>
<string name="no_folder_app">Keine App zur Anzeige von Ordnern installiert</string>
<string name="hold_by_call">pause (bei Anruf)</string>
<string name="recording">aufnehmen</string>
<string name="encoding">encoding</string>
<string name="pause">pause</string>
<string name="edit">bearbeiten</string>
<string name="recording_status_recording">aufnehmen</string>
<string name="recording_status_encoding">encoding</string>
<string name="recording_status_pause">pause</string>
<string name="recording_status_edit">bearbeiten</string>
<string name="confirm_cancel">Bestätige Abbruch</string>
<string name="are_you_sure_cancel">Willst du wirklich abbrechen?</string>
<string name="encoding_title">Encoding...</string>
<string name="recording_title">Aufnahme</string>
<string name="pause_title">Pause...</string>
@ -38,7 +36,6 @@
<string name="recording_list_is_empty">Aufnahmeliste ist leer\n\nDrücke \'Aufnehmen\' um die Aufnahme zu starten</string>
<string name="record_button">Record</string>
<string name="cut_button">Cut</string>
<string name="play_button">Play</string>
<string name="stop_button">Stop</string>
<string name="cancel_button">Cancel</string>
<string name="pause_button">Pause</string>

View file

@ -21,16 +21,14 @@
<item>Stereo</item>
</string-array>
<string name="action_settings">Impostazioni</string>
<string name="not_permitted">Non permesso</string>
<string name="no_folder_app">Nessuna app per la visione delle cartelle risulta installa</string>
<string name="hold_by_call">pausa (per chiamata)</string>
<string name="recording">registrando</string>
<string name="encoding">encoding</string>
<string name="pause">pausa</string>
<string name="edit">modifica</string>
<string name="recording_status_recording">registrando</string>
<string name="recording_status_encoding">encoding</string>
<string name="recording_status_pause">pausa</string>
<string name="recording_status_edit">modifica</string>
<string name="confirm_cancel">Conferma annullamento</string>
<string name="are_you_sure_cancel">Sei sicuro di voler annullare la registrazione?</string>
<string name="encoding_title">Codifica in corso ...</string>
<string name="pause_title">Pausa...</string>
<string name="recording_title">Registrando</string>
@ -38,7 +36,6 @@
<string name="recording_list_is_empty">La lista delle registrazioni è vuota\n\nClicca Registra per iniziare a registrare</string>
<string name="record_button">Record</string>
<string name="cut_button">Cut</string>
<string name="play_button">Play</string>
<string name="stop_button">Stop</string>
<string name="cancel_button">Cancel</string>
<string name="pause_button">Pause</string>

View file

@ -21,16 +21,14 @@
<item>ステレオ</item>
</string-array>
<string name="action_settings">設定</string>
<string name="not_permitted">許可されていません</string>
<string name="no_folder_app">フォルダーを表示するアプリケーションがインストールされていません</string>
<string name="hold_by_call">一時停止 (着信により保留)</string>
<string name="recording">録音中</string>
<string name="encoding">エンコーディング</string>
<string name="pause">一時停止</string>
<string name="edit">編集</string>
<string name="recording_status_recording">録音中</string>
<string name="recording_status_encoding">エンコーディング</string>
<string name="recording_status_pause">一時停止</string>
<string name="recording_status_edit">編集</string>
<string name="confirm_cancel">キャンセルの確認</string>
<string name="are_you_sure_cancel">キャンセルしてもよろしいですか?</string>
<string name="encoding_title">エンコード中...</string>
<string name="recording_title">録音中</string>
<string name="pause_title">一時停止...</string>
@ -38,7 +36,6 @@
<string name="recording_list_is_empty">録音リストは空です\n\n録音をクリックすると録音を開始します</string>
<string name="record_button">Record</string>
<string name="cut_button">Cut</string>
<string name="play_button">Play</string>
<string name="stop_button">Stop</string>
<string name="cancel_button">Cancel</string>
<string name="pause_button">Pause</string>

View file

@ -21,16 +21,14 @@
<item>Estéreo</item>
</string-array>
<string name="action_settings">Configurações</string>
<string name="not_permitted">Não permitido</string>
<string name="no_folder_app">Não foi encontrado um aplicativo para explorar arquivos</string>
<string name="hold_by_call">pausado (chamada atendida)</string>
<string name="recording">gravando</string>
<string name="encoding">codificando</string>
<string name="pause">pausado</string>
<string name="edit">editando</string>
<string name="recording_status_recording">gravando</string>
<string name="recording_status_encoding">codificando</string>
<string name="recording_status_pause">pausado</string>
<string name="recording_status_edit">editando</string>
<string name="confirm_cancel">Confirme o cancelamento</string>
<string name="are_you_sure_cancel">Tem certeza que deseja cancelar?</string>
<string name="encoding_title">Codificando...</string>
<string name="recording_title">Gravando</string>
<string name="pause_title">Pausado...</string>
@ -38,7 +36,6 @@
<string name="recording_list_is_empty">A lista de gravações está vazia\n\nToque no ícone de microfone para começar a gravar</string>
<string name="record_button">Record</string>
<string name="cut_button">Cut</string>
<string name="play_button">Play</string>
<string name="stop_button">Stop</string>
<string name="cancel_button">Cancel</string>
<string name="pause_button">Pause</string>

View file

@ -21,16 +21,14 @@
<item>Стерео</item>
</string-array>
<string name="action_settings">Настройки</string>
<string name="not_permitted">Доступ запрещен</string>
<string name="no_folder_app">Программа для просмотра папок не установлена</string>
<string name="hold_by_call">пауза (звонок)</string>
<string name="recording">запись</string>
<string name="encoding">кодировка</string>
<string name="pause">пауза</string>
<string name="edit">редактор</string>
<string name="recording_status_recording">запись</string>
<string name="recording_status_encoding">кодировка</string>
<string name="recording_status_pause">пауза</string>
<string name="recording_status_edit">редактор</string>
<string name="confirm_cancel">Отменить запись</string>
<string name="are_you_sure_cancel">Вы уверены?</string>
<string name="encoding_title">Кодирование...</string>
<string name="recording_title">Запись...</string>
<string name="pause_title">Пауза...</string>
@ -38,7 +36,6 @@
<string name="recording_list_is_empty">Список записей пуст.\n\nНажмите на \'Микрофон\' чтобы начать запись.</string>
<string name="record_button">Запись</string>
<string name="cut_button">Отрезать</string>
<string name="play_button">Играть</string>
<string name="stop_button">Стоп</string>
<string name="cancel_button">Отмена</string>
<string name="pause_button">Пауза</string>

View file

@ -0,0 +1,44 @@
<resources>
<string name="app_name">Audio Recorder</string>
<string-array name="sample_rate_text">
<item>48 kHz</item>
<item>44.1 kHz (CD)</item>
<item>32 kHz</item>
<item>22 kHz</item>
<item>16 kHz (predvolené)</item>
<item>11 kHz</item>
<item>8 kHz (telefón)</item>
</string-array>
<string-array name="themes_text">
<item>Theme Svetlá (predvolené)</item>
<item>Theme Tmavá</item>
</string-array>
<string-array name="channels_text">
<item>Mono (predvolené)</item>
<item>Stereo</item>
</string-array>
<string name="not_permitted">Nepovolené</string>
<string name="no_folder_app">Nie je nainštalovaná žiadna aplikácia na zobrazenie obsahu priečinka</string>
<string name="hold_by_call">pozastavené (automaticky počas hovoru)</string>
<string name="recording_status_recording">nahrávanie</string>
<string name="recording_status_encoding">kódovanie</string>
<string name="recording_status_pause">pozastavené</string>
<string name="recording_status_edit">úpravy</string>
<string name="confirm_cancel">Potvrdiť zrušenie</string>
<string name="are_you_sure_cancel">Ste si istí, že chcete zastaviť nahrávanie?</string>
<string name="encoding_title">Kódovanie...</string>
<string name="pause_title">Pozastavené...</string>
<string name="recording_title">Nahrávanie</string>
<string name="open_recording_folder">Otvoriť priečinok s nahrávkami</string>
<string name="recording_list_is_empty">Zoznam nahrávok je prázdny\n\nZačnite klepnutím na tlačidlo Nahrávať</string>
<string name="record_button">Nahrávať</string>
<string name="cut_button">Odstrihnúť</string>
<string name="play_button">Prehrať</string>
<string name="stop_button">Zastaviť</string>
<string name="cancel_button">Zrušiť</string>
<string name="pause_button">Pozastaviť</string>
</resources>

View file

@ -53,16 +53,14 @@
<item>%I</item>
</string-array>
<string name="action_settings">Settings</string>
<string name="not_permitted">Not permitted</string>
<string name="no_folder_app">No folder view application installed</string>
<string name="hold_by_call">pause (hold by call)</string>
<string name="recording">recording</string>
<string name="encoding">encoding</string>
<string name="pause">pause</string>
<string name="edit">edit</string>
<string name="recording_status_recording">recording</string>
<string name="recording_status_encoding">encoding</string>
<string name="recording_status_pause">pause</string>
<string name="recording_status_edit">edit</string>
<string name="confirm_cancel">Confirm cancel</string>
<string name="are_you_sure_cancel">Are you sure you want to cancel?</string>
<string name="encoding_title">Encoding...</string>
<string name="pause_title">Pause...</string>
<string name="recording_title">Recording</string>
@ -70,7 +68,6 @@
<string name="recording_list_is_empty">Recording List is Empty\n\nClick Record to Start Recording</string>
<string name="record_button">Record</string>
<string name="cut_button">Cut</string>
<string name="play_button">Play</string>
<string name="stop_button">Stop</string>
<string name="cancel_button">Cancel</string>
<string name="pause_button">Pause</string>

View file

@ -0,0 +1,77 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.github.axet.androidlibrary.widgets.StoragePathPreferenceCompat
android:defaultValue="Audio Recorder"
android:key="storage_path"
android:summary="/sdcard/cesta/"
android:title="Priečinok s nahrávkami" />
<ListPreference
android:defaultValue="16000"
android:entries="@array/sample_rate_text"
android:entryValues="@array/sample_rate_values"
android:key="sample_rate"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:summary="44100"
android:title="Vzorkovacia frekvencia" />
<ListPreference
android:defaultValue="ogg"
android:entries="@array/encodings_text"
android:entryValues="@array/encodings_values"
android:key="encoding"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:summary="Výstupný zvukový formát (.wav, .m4a, ...)"
android:title="Kódovanie" />
<ListPreference
android:defaultValue="1"
android:entries="@array/channels_text"
android:entryValues="@array/channels_values"
android:key="channels"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:summary="Zvukové kanály"
android:title="Režim" />
<ListPreference
android:defaultValue="%s"
android:entries="@array/format_text"
android:entryValues="@array/format_values"
android:key="format"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:summary="2015-12-31 22:11:34"
android:title="Formát názvu súboru" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="call"
android:summary="Zastaví nahrávanie po prijatí hovoru a po jeho ukončení bude nahrávanie pokračovať"
android:title="Pozastaviť počas hovoru" />
<com.github.axet.androidlibrary.widgets.SilencePreferenceCompat
android:defaultValue="false"
android:key="silence"
android:summary="Prepnúť zariadenie do tichého režimu počas nahrávania"
android:title="Tichý režim" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="controls"
android:summary="Zobraziť ovládacie prvky na zamikacej obrazovke"
android:title="Tlačidlá na uzamikacej obrazovke" />
<ListPreference
android:defaultValue="Theme_White"
android:entries="@array/themes_text"
android:entryValues="@array/themes_values"
android:key="theme"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:summary="Farebná téma aplikácie (svetlá / tmavá)"
android:title="Téma" />
</PreferenceScreen>