Book reader — speed as a 5-option dropdown with multiplier labels
Replace the 3-way segmented speed control with a dropdown menu offering 0.5× / 0.75× / 1× / 1.25× / 1.5×, with evened-out underlying AVSpeech rates anchored at 1× = 0.50. Align the default saved rate to 0.50 so 1× is selected on a fresh install (was 0.45, which matched no option). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -32,7 +32,7 @@ struct BookReaderView: View {
|
||||
}
|
||||
|
||||
@AppStorage("bookReaderVoiceId") private var storedVoiceId: String = ""
|
||||
@AppStorage("bookReaderRate") private var storedRate: Double = 0.45
|
||||
@AppStorage("bookReaderRate") private var storedRate: Double = 0.50
|
||||
|
||||
init(chapter: BookChapter) {
|
||||
self.chapter = chapter
|
||||
|
||||
@@ -42,11 +42,13 @@ struct BookVoicePickerSheet: View {
|
||||
Form {
|
||||
Section("Speed") {
|
||||
Picker("Speed", selection: $rate) {
|
||||
Text("Slow").tag(Float(0.40))
|
||||
Text("Normal").tag(Float(0.50))
|
||||
Text("Fast").tag(Float(0.55))
|
||||
Text("0.5×").tag(Float(0.30))
|
||||
Text("0.75×").tag(Float(0.40))
|
||||
Text("1×").tag(Float(0.50))
|
||||
Text("1.25×").tag(Float(0.575))
|
||||
Text("1.5×").tag(Float(0.65))
|
||||
}
|
||||
.pickerStyle(.segmented)
|
||||
.pickerStyle(.menu)
|
||||
}
|
||||
|
||||
if groups.isEmpty {
|
||||
|
||||
Reference in New Issue
Block a user