@@ -152,7 +152,7 @@ public class FolioReaderAudioPlayer: NSObject {
152152
153153 func play( ) {
154154 if book. hasAudio ( ) {
155- guard let currentPage = FolioReader . sharedInstance. readerCenter. currentPage else { return }
155+ guard let currentPage = FolioReader . sharedInstance. readerCenter? . currentPage else { return }
156156 currentPage. webView. js ( " playAudio() " )
157157 } else {
158158 readCurrentSentence ( )
@@ -212,7 +212,7 @@ public class FolioReaderAudioPlayer: NSObject {
212212 func playPrevChapter( ) {
213213 stopPlayerTimer ( )
214214 // Wait for "currentPage" to update, then request to play audio
215- FolioReader . sharedInstance. readerCenter. changePageToPrevious {
215+ FolioReader . sharedInstance. readerCenter? . changePageToPrevious {
216216 if self . isPlaying ( ) {
217217 self . play ( )
218218 } else {
@@ -224,7 +224,7 @@ public class FolioReaderAudioPlayer: NSObject {
224224 func playNextChapter( ) {
225225 stopPlayerTimer ( )
226226 // Wait for "currentPage" to update, then request to play audio
227- FolioReader . sharedInstance. readerCenter. changePageToNext {
227+ FolioReader . sharedInstance. readerCenter? . changePageToNext {
228228 if self . isPlaying ( ) {
229229 self . play ( )
230230 }
@@ -293,7 +293,7 @@ public class FolioReaderAudioPlayer: NSObject {
293293 // get the fragment ID so we can "mark" it in the webview
294294 let textParts = textFragment!. componentsSeparatedByString ( " # " )
295295 let fragmentID = textParts [ 1 ] ;
296- FolioReader . sharedInstance. readerCenter. audioMark ( href: currentHref, fragmentID: fragmentID)
296+ FolioReader . sharedInstance. readerCenter? . audioMark ( href: currentHref, fragmentID: fragmentID)
297297
298298 return true
299299 }
@@ -353,18 +353,23 @@ public class FolioReaderAudioPlayer: NSObject {
353353 // MARK: TTS Sentence
354354
355355 func speakSentence( ) {
356- guard let currentPage = FolioReader . sharedInstance. readerCenter. currentPage else { return }
356+ guard let
357+ readerCenter = FolioReader . sharedInstance. readerCenter,
358+ currentPage = readerCenter. currentPage else {
359+ return
360+ }
361+
357362 let sentence = currentPage. webView. js ( " getSentenceWithIndex(' \( book. playbackActiveClass ( ) ) ') " )
358363
359364 if sentence != nil {
360- let chapter = FolioReader . sharedInstance . readerCenter. getCurrentChapter ( )
365+ let chapter = readerCenter. getCurrentChapter ( )
361366 let href = chapter != nil ? chapter!. href : " " ;
362367 playText ( href, text: sentence!)
363368 } else {
364- if FolioReader . sharedInstance . readerCenter. isLastPage ( ) {
369+ if readerCenter. isLastPage ( ) {
365370 stop ( )
366371 } else {
367- FolioReader . sharedInstance . readerCenter. changePageToNext ( )
372+ readerCenter. changePageToNext ( )
368373 }
369374 }
370375 }
@@ -378,7 +383,7 @@ public class FolioReaderAudioPlayer: NSObject {
378383 } else {
379384 if synthesizer. speaking {
380385 stopSynthesizer ( immediate: false , completion: {
381- if let currentPage = FolioReader . sharedInstance. readerCenter. currentPage {
386+ if let currentPage = FolioReader . sharedInstance. readerCenter? . currentPage {
382387 currentPage. webView. js ( " resetCurrentSentenceIndex() " )
383388 }
384389 self . speakSentence ( )
@@ -463,7 +468,7 @@ public class FolioReaderAudioPlayer: NSObject {
463468 the `currentPage` in ReaderCenter may not have updated just yet
464469 */
465470 func getCurrentChapterName( ) -> String ? {
466- guard let chapter = FolioReader . sharedInstance. readerCenter. getCurrentChapter ( ) else {
471+ guard let chapter = FolioReader . sharedInstance. readerCenter? . getCurrentChapter ( ) else {
467472 return nil
468473 }
469474
0 commit comments