10からAVPlayerLooperが追加されて、ループ再生をかんたんに実現することができるようになりました。2016のビデオを観るのがおすすめです。ループ関連の説明は13:00からはじまります。9でも、AVQueuePlayerを工夫して使えばシームレスなループ再生ができましたが、いろいろと面倒でした。10からはAVPlayerLooperを使えば、シンプルな実装でシームレスなループ再生を実現できます。試しに、Appleが提供しているサンプルプログラムを動かしてみるのが分かりやすいです。AVPlayerLooperと、AVQueuePlayerを使った場合のそれぞれの実装を比較することができます。playbackAVPlayerLooperを使うと、startTime秒からendTime秒までループしたい場合は、以下のようなコードを書くだけでOK。playbackqueuePlayer.play()ちょっと困ること1つ気をつけないといけないのが、ループ範囲を設定すると、再生位置が自動的にループの開始位置にシークされてしまうこと。replicas.この仕様、場合によっては困ります。曲のA-B区間をループ再生中に、ループ区間を解除してそのまま通常再生を続けたい場合、この仕様だと、ループを解除すると、曲の先頭に勝手にシークされてしまいます。回避策として、ループ解除前に、現在の再生位置を保存しておいて、ループ区間を解除した後に、保存しておいた再生位置にシークし直せばいいのですが、どうしても不連続になるので、ビデオとオーディオが途切れてしまいます。Reporter経由で問い合わせてみたのですが、AVQueuePlayerをベースにしているため現状の仕様とのこと。改善を検討します、とは言っていましたが、まぁきっとすぐには実現されないでしょう。私が開発しているPlaySectionsのバージョン2.0.0でビデオ再生機能を追加したのですが、その際にAVPlayerLooperを使ってループ機能を実装しました。興味ある方はお試しください。Player「PlaySections」を作ってます。upLoginユーザーは見つかりませんでした。