mirror of
https://github.com/SimpleMobileTools/Simple-Voice-Recorder.git
synced 2025-02-25 07:57:42 +01:00
Merge branch 'master' into add-ogg-support
This commit is contained in:
commit
9c31c85db9
@ -56,10 +56,10 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:99a97f2e16'
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:0c302e84d4'
|
||||
implementation 'org.greenrobot:eventbus:3.2.0'
|
||||
implementation 'com.github.Armen101:AudioRecordView:1.0.2'
|
||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ class SettingsActivity : SimpleActivity() {
|
||||
setupHideNotification()
|
||||
setupSaveRecordingsFolder()
|
||||
setupExtension()
|
||||
setupBitrate()
|
||||
updateTextColors(settings_scrollview)
|
||||
}
|
||||
|
||||
@ -98,7 +99,8 @@ class SettingsActivity : SimpleActivity() {
|
||||
settings_extension_holder.setOnClickListener {
|
||||
val items = arrayListOf(
|
||||
RadioItem(EXTENSION_M4A, getString(R.string.m4a)),
|
||||
RadioItem(EXTENSION_MP3, getString(R.string.mp3)))
|
||||
RadioItem(EXTENSION_MP3, getString(R.string.mp3))
|
||||
)
|
||||
|
||||
if (isQPlus()) {
|
||||
items.add(RadioItem(EXTENSION_OGG, getString(R.string.ogg)))
|
||||
@ -110,4 +112,18 @@ class SettingsActivity : SimpleActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupBitrate() {
|
||||
settings_bitrate.text = getBitrateText(config.bitrate)
|
||||
settings_bitrate_holder.setOnClickListener {
|
||||
val items = BITRATES.map { RadioItem(it, getBitrateText(it)) } as ArrayList
|
||||
|
||||
RadioGroupDialog(this@SettingsActivity, items, config.bitrate) {
|
||||
config.bitrate = it as Int
|
||||
settings_bitrate.text = getBitrateText(config.bitrate)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getBitrateText(value: Int): String = getString(R.string.bitrate_value).format(value / 1000)
|
||||
}
|
||||
|
@ -22,6 +22,10 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
get() = prefs.getInt(EXTENSION, EXTENSION_M4A)
|
||||
set(extension) = prefs.edit().putInt(EXTENSION, extension).apply()
|
||||
|
||||
var bitrate: Int
|
||||
get() = prefs.getInt(BITRATE, DEFAULT_BITRATE)
|
||||
set(bitrate) = prefs.edit().putInt(BITRATE, bitrate).apply()
|
||||
|
||||
fun getExtensionText() = context.getString(when (extension) {
|
||||
EXTENSION_M4A -> R.string.m4a
|
||||
EXTENSION_OGG -> R.string.ogg
|
||||
|
@ -18,6 +18,9 @@ const val EXTENSION_M4A = 0
|
||||
const val EXTENSION_MP3 = 1
|
||||
const val EXTENSION_OGG = 2
|
||||
|
||||
val BITRATES = arrayListOf(32000, 64000, 96000, 128000, 160000, 192000, 256000, 320000)
|
||||
const val DEFAULT_BITRATE = 128000
|
||||
|
||||
const val RECORDING_RUNNING = 0
|
||||
const val RECORDING_STOPPED = 1
|
||||
const val RECORDING_PAUSED = 2
|
||||
@ -26,6 +29,7 @@ const val RECORDING_PAUSED = 2
|
||||
const val HIDE_NOTIFICATION = "hide_notification"
|
||||
const val SAVE_RECORDINGS = "save_recordings"
|
||||
const val EXTENSION = "extension"
|
||||
const val BITRATE = "bitrate"
|
||||
|
||||
@SuppressLint("InlinedApi")
|
||||
fun getAudioFileContentUri(id: Long): Uri {
|
||||
|
@ -76,7 +76,7 @@ class RecorderService : Service() {
|
||||
setAudioSource(MediaRecorder.AudioSource.CAMCORDER)
|
||||
setOutputFormat(config.getOutputFormat())
|
||||
setAudioEncoder(config.getAudioEncoder())
|
||||
setAudioEncodingBitRate(128000)
|
||||
setAudioEncodingBitRate(config.bitrate)
|
||||
setAudioSamplingRate(44100)
|
||||
|
||||
try {
|
||||
|
@ -186,5 +186,37 @@
|
||||
android:clickable="false" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_bitrate_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingLeft="@dimen/normal_margin"
|
||||
android:paddingTop="@dimen/bigger_margin"
|
||||
android:paddingRight="@dimen/normal_margin"
|
||||
android:paddingBottom="@dimen/bigger_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_bitrate_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toStartOf="@+id/settings_bitrate"
|
||||
android:paddingLeft="@dimen/medium_margin"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:text="@string/bitrate" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_bitrate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/small_margin"
|
||||
android:background="@null"
|
||||
android:clickable="false" />
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Forsøg at skjule notifikation under optagelse</string>
|
||||
<string name="save_recordings_in">Gem optagelser i</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Kan jeg skjule notifikationsikonet under optagelse?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Versuche die Aufnahmebenachrichtigung auszublenden</string>
|
||||
<string name="save_recordings_in">Speichere Aufnahme in</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Kann ich das Benachrichtigungssymbol während der Aufnahme ausblenden?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Δοκιμάστε να αποκρύψετε την ειδοποίηση εγγραφής</string>
|
||||
<string name="save_recordings_in">Αποθήκευση εγγραφών σε</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Μπορώ να αποκρύψω το εικονίδιο ειδοποίησης κατά την εγγραφή;</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Tratar de ocultar la notificación de grabación</string>
|
||||
<string name="save_recordings_in">Guardar grabaciones en</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">¿Puedo ocultar el ícono de notificación durante la grabación?</string>
|
||||
|
@ -18,6 +18,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Yritä piilottaa tallennusilmoitus</string>
|
||||
<string name="save_recordings_in">Tallenna tallenteet</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Voinko piilottaa ilmoituskuvakkeen tallennuksen aikana?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Coba sembunyikan pemberitahuan rekaman</string>
|
||||
<string name="save_recordings_in">Simpan rekaman di</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Bisakah saya menyembunyikan ikon notifikasi selama merekam?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Prova a nascondere la notifica di registrazione</string>
|
||||
<string name="save_recordings_in">Salva le registrazioni in</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Posso nascondere la notifica durante la registrazione?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">録音通知を隠す</string>
|
||||
<string name="save_recordings_in">録音を保存する</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">録音中に通知を非表示にすることは出来ますか?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Pabandyti paslėpti įrašymo pranešimą</string>
|
||||
<string name="save_recordings_in">Išsaugoti įrašus</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Ar galiu paslėpti pranešimo ikonėlę įrašinėjant?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Tijdens de opname proberen de notificatie te verbergen</string>
|
||||
<string name="save_recordings_in">Opnames opslaan in</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Kan ik de notificatie tijdens het opnemen verbergen?</string>
|
||||
|
@ -18,6 +18,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Spróbuj ukrywać powiadomienie o nagrywaniu</string>
|
||||
<string name="save_recordings_in">Zapisuj nagrania w</string>
|
||||
<string name="bitrate">Przepływność</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Czy mogę ukryć ikonę powiadomienia podczas nagrywania?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Tentar ocultar a notificação da gravação</string>
|
||||
<string name="save_recordings_in">Guardar gravações em</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Can I hide the notification icon during recording?</string>
|
||||
|
@ -18,6 +18,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Пытаться скрыть уведомление о записи</string>
|
||||
<string name="save_recordings_in">Место хранения записей</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Можно ли скрыть значок уведомления во время записи?</string>
|
||||
|
@ -18,6 +18,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Skúsiť ukryť nahrávaciu notifikáciu</string>
|
||||
<string name="save_recordings_in">Ukladať nahrávky do</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Viem nejakým spôsobom ukryť notifikačnú ikonku počas nahrávania?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Kayıt bildirimini gizlemeyi dene</string>
|
||||
<string name="save_recordings_in">Kayıt klasörü:</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Kayıt sırasında bildirim simgesini gizleyebilir miyim?</string>
|
||||
|
@ -18,6 +18,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Намагатися приховати сповіщення про запис</string>
|
||||
<string name="save_recordings_in">Місце зберігання записів</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Чи можна приховати значок сповіщення під час запису?</string>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">尝试隐藏录音通知提示</string>
|
||||
<string name="save_recordings_in">保存录音至</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">在录音过程中我可以隐藏通知提示图标么?</string>
|
||||
|
@ -4,5 +4,6 @@
|
||||
<string name="m4a">m4a</string>
|
||||
<string name="mp3">mp3</string>
|
||||
<string name="ogg">ogg</string>
|
||||
<string name="bitrate_value">%d kbps</string>
|
||||
|
||||
</resources>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<!-- Settings -->
|
||||
<string name="try_hiding_notification">Try hiding the recording notification</string>
|
||||
<string name="save_recordings_in">Save recordings in</string>
|
||||
<string name="bitrate">Bitrate</string>
|
||||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Can I hide the notification icon during recording?</string>
|
||||
|
@ -1,14 +1,14 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.4.32'
|
||||
ext.kotlin_version = '1.5.31'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.1.3'
|
||||
classpath 'com.android.tools.build:gradle:7.0.3'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
|
||||
|
Loading…
x
Reference in New Issue
Block a user