正在显示
3 个修改的文件
包含
30 行增加
和
1 行删除
| @@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
| 2 | 2 | ||
| 3 | package com.k2fsa.sherpa.onnx.tts.engine | 3 | package com.k2fsa.sherpa.onnx.tts.engine |
| 4 | 4 | ||
| 5 | +import PreferenceHelper | ||
| 5 | import android.media.MediaPlayer | 6 | import android.media.MediaPlayer |
| 6 | import android.net.Uri | 7 | import android.net.Uri |
| 7 | import android.os.Bundle | 8 | import android.os.Bundle |
| @@ -47,6 +48,7 @@ class MainActivity : ComponentActivity() { | @@ -47,6 +48,7 @@ class MainActivity : ComponentActivity() { | ||
| 47 | override fun onCreate(savedInstanceState: Bundle?) { | 48 | override fun onCreate(savedInstanceState: Bundle?) { |
| 48 | super.onCreate(savedInstanceState) | 49 | super.onCreate(savedInstanceState) |
| 49 | TtsEngine.createTts(this) | 50 | TtsEngine.createTts(this) |
| 51 | + val preferenceHelper = PreferenceHelper(this) | ||
| 50 | setContent { | 52 | setContent { |
| 51 | SherpaOnnxTtsEngineTheme { | 53 | SherpaOnnxTtsEngineTheme { |
| 52 | // A surface container using the 'background' color from the theme | 54 | // A surface container using the 'background' color from the theme |
| @@ -63,7 +65,10 @@ class MainActivity : ComponentActivity() { | @@ -63,7 +65,10 @@ class MainActivity : ComponentActivity() { | ||
| 63 | Text("Speed " + String.format("%.1f", TtsEngine.speed)) | 65 | Text("Speed " + String.format("%.1f", TtsEngine.speed)) |
| 64 | Slider( | 66 | Slider( |
| 65 | value = TtsEngine.speedState.value, | 67 | value = TtsEngine.speedState.value, |
| 66 | - onValueChange = { TtsEngine.speed = it }, | 68 | + onValueChange = { |
| 69 | + TtsEngine.speed = it | ||
| 70 | + preferenceHelper.setSpeed(it) | ||
| 71 | + }, | ||
| 67 | valueRange = 0.2F..3.0F, | 72 | valueRange = 0.2F..3.0F, |
| 68 | modifier = Modifier.fillMaxWidth() | 73 | modifier = Modifier.fillMaxWidth() |
| 69 | ) | 74 | ) |
android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine/PreferencesHelper.kt
0 → 100644
| 1 | +import android.content.Context | ||
| 2 | +import android.content.SharedPreferences | ||
| 3 | + | ||
| 4 | +class PreferenceHelper(context: Context) { | ||
| 5 | + | ||
| 6 | + private val PREFS_NAME = "com.k2fsa.sherpa.onnx.tts.engine" | ||
| 7 | + private val SPEED_KEY = "speed" | ||
| 8 | + | ||
| 9 | + private val sharedPreferences: SharedPreferences = | ||
| 10 | + context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE) | ||
| 11 | + | ||
| 12 | + fun setSpeed(value: Float) { | ||
| 13 | + val editor = sharedPreferences.edit() | ||
| 14 | + editor.putFloat(SPEED_KEY, value) | ||
| 15 | + editor.apply() | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + fun getSpeed(): Float { | ||
| 19 | + return sharedPreferences.getFloat(SPEED_KEY, 1.0f) | ||
| 20 | + } | ||
| 21 | +} |
| @@ -11,6 +11,7 @@ import com.k2fsa.sherpa.onnx.getOfflineTtsConfig | @@ -11,6 +11,7 @@ import com.k2fsa.sherpa.onnx.getOfflineTtsConfig | ||
| 11 | import java.io.File | 11 | import java.io.File |
| 12 | import java.io.FileOutputStream | 12 | import java.io.FileOutputStream |
| 13 | import java.io.IOException | 13 | import java.io.IOException |
| 14 | +import PreferenceHelper | ||
| 14 | 15 | ||
| 15 | object TtsEngine { | 16 | object TtsEngine { |
| 16 | var tts: OfflineTts? = null | 17 | var tts: OfflineTts? = null |
| @@ -136,6 +137,8 @@ object TtsEngine { | @@ -136,6 +137,8 @@ object TtsEngine { | ||
| 136 | ruleFars = ruleFars ?: "" | 137 | ruleFars = ruleFars ?: "" |
| 137 | ) | 138 | ) |
| 138 | 139 | ||
| 140 | + speed = PreferenceHelper(context).getSpeed() | ||
| 141 | + | ||
| 139 | tts = OfflineTts(assetManager = assets, config = config) | 142 | tts = OfflineTts(assetManager = assets, config = config) |
| 140 | } | 143 | } |
| 141 | 144 |
-
请 注册 或 登录 后发表评论