回答編集履歴

4 コード

torkia

torkia score 14

2018/11/20 01:18  投稿

自動ロック(スリープ状態)にならなければ、バックグラウンド再生中でも次ページのデータ再生はできていたのですが、スリープ状態になると、次ページを呼び出せても更新(再生メソッドの呼出)ができていないようだったので、「次ページのviewWillAppear」を、次ページの呼出しと同時に行うようにしました。
```
// 「audioPlayerDidFinishPlaying」のメソッド内にコードを1行追加
if autoPlayNextSetting == 1 { // 全ページ自動再生するなら
               if index >= soundArray.count { 
                   if pageIndex < 19 { 
                       let pvc = self.parent as! PageViewController
                       let nextIndex = pageIndex + 1
                       pvc.setViewControllers([pvc.contentVCs[nextIndex]], direction: .forward, animated: true, completion: nil)
                       pvc.currentIndex += 1
                       autoPlayNext = 1     
                       userDefaults.set(autoPlayNext, forKey: "autoPlayNext")
                       pvc.contentVCs[nextIndex].viewWillAppear(true)  // ←コードを追加
                       pvc.contentVCs[nextIndex].viewWillAppear(true) // コードを追加
                   } else if pageIndex == 19 {
                      print("全ページ音終了")
                   }
                 ・
                 ・
                 ・
```
3 コード

torkia

torkia score 14

2018/11/20 01:17  投稿

自動ロック(スリープ状態)にならなければ、バックグラウンド再生中でも次ページのデータ再生はできていたのですが、スリープ状態になると、次ページを呼び出せても更新(再生メソッドの呼出)ができていないようだったので、「次ページのviewWillAppear」を、次ページの呼出しと同時に行うようにしました。
```
// 「audioPlayerDidFinishPlaying」のメソッド内にコードを1行追加
if autoPlayNextSetting == 1 { // 全ページ自動再生するなら
               if index >= soundArray.count { 
                   if pageIndex < 19 { 
                       let pvc = self.parent as! PageViewController
                       let nextIndex = pageIndex + 1
                       pvc.setViewControllers([pvc.contentVCs[nextIndex]], direction: .forward, animated: true, completion: nil)
                       pvc.currentIndex += 1
                       autoPlayNext = 1     
                       userDefaults.set(autoPlayNext, forKey: "autoPlayNext")
                       pvc.viewWillAppear(true)   // ←コードを追加
                       pvc.contentVCs[nextIndex].viewWillAppear(true)   // ←コードを追加
                   } else if pageIndex == 19 {
                      print("全ページ音終了")
                   }
                 ・
                 ・
                 ・
```
2 内容

torkia

torkia score 14

2018/11/20 00:02  投稿

自動ロック(スリープ状態)にならなければ、バックグラウンド再生中でも次ページのデータ再生はできていたのですが、スリープ状態になると、次ページを呼び出せても更新(再生メソッドの呼出)ができていないようだったので、「のviewWillAppear」を、次ページの呼出しと同時に行うようにしました。
自動ロック(スリープ状態)にならなければ、バックグラウンド再生中でも次ページのデータ再生はできていたのですが、スリープ状態になると、次ページを呼び出せても更新(再生メソッドの呼出)ができていないようだったので、「次ページのviewWillAppear」を、次ページの呼出しと同時に行うようにしました。
```
// 「audioPlayerDidFinishPlaying」のメソッド内にコードを1行追加
if autoPlayNextSetting == 1 { // 全ページ自動再生するなら
               if index >= soundArray.count { 
                   if pageIndex < 19 { 
                       let pvc = self.parent as! PageViewController
                       let nextIndex = pageIndex + 1
                       pvc.setViewControllers([pvc.contentVCs[nextIndex]], direction: .forward, animated: true, completion: nil)
                       pvc.currentIndex += 1
                       autoPlayNext = 1     
                       userDefaults.set(autoPlayNext, forKey: "autoPlayNext")
                       pvc.viewWillAppear(true)   // ←コードを追加
                   } else if pageIndex == 19 {
                      print("全ページ音終了")
                   }
                 ・
                 ・
                 ・
```
1 コード

torkia

torkia score 14

2018/11/20 00:01  投稿

自動ロック(スリープ状態)にならなければ、バックグラウンド再生中でも次ページのデータ再生はできていたのですが、スリープ状態になると、次ページを呼び出せても更新(再生メソッドの呼出)ができていないようだったので、再生メソッドを呼び出すメソッドを記述している次ページのviewWillAppearを次ページの呼出しと同時に行うようにしました。
自動ロック(スリープ状態)にならなければ、バックグラウンド再生中でも次ページのデータ再生はできていたのですが、スリープ状態になると、次ページを呼び出せても更新(再生メソッドの呼出)ができていないようだったので、「親のviewWillAppear」を、次ページの呼出しと同時に行うようにしました。
```
// 「audioPlayerDidFinishPlaying」のメソッド内にコードを1行追加
if autoPlayNextSetting == 1 { // 全ページ自動再生するなら
               if index >= soundArray.count { 
                   if pageIndex < 19 { 
                       let pvc = self.parent as! PageViewController
                       let nextIndex = pageIndex + 1
                       pvc.setViewControllers([pvc.contentVCs[nextIndex]], direction: .forward, animated: true, completion: nil)
                       pvc.currentIndex += 1
                       autoPlayNext = 1     
                       userDefaults.set(autoPlayNext, forKey: "autoPlayNext")
                       pvc.viewWillAppear(true)   // ←コードを追加
                   } else if pageIndex == 19 {
                      print("全ページ音終了")
                   }
                 ・
                 ・
                 ・
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る