「Repete Plus」をアップデートしました。(version 8.0)

「Repete Plus」をアップデートしました。(version 7.9 -> version 8.0)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
無音部分を自動認識し、語学教材をフレーズごとに間隔をあけて再生できます。

App Storeはこちら

使い方を紹介しているサポートサイトはこちら
Repete Plus – nackpan Blog

変更点

  • 再生回数が表示できるようになりました。
    設定 > 詳細 > 再生回数を表示 をONにすると、区間の再生回数が表示されます。
  • 学習記録に再生回数タブが加わりました。指定したアルバム・フォルダの区間再生回数の合計を見ることができます。
    (「記録」ボタンを押す > 再生回数タブ)
  • 可変ビットレート(VBR)でエンコードしたファイルを使用した際に、区切った位置で再生されないことがありました。今回のアップデートで、この問題を解消しました。
  • 再生中に、再生/再生不要切り替えのジェスチャーを繰り返すなどの操作を行なっていると、まれに再生が止まってしまい、そのあと、再生ボタンを押しても反応しなくなる不具合がありました。
    今回のアップデートで、再生が止まる不具合の発生確率を下げ、万一再生が止まったばあいにも再生ボタンが機能するように修正しました。

開発者後記

以前から要望があった「再生回数」の表示機能を今回のアップデートで加えました。

可変ビットレート(VBR)でエンコードしたファイルを使用した際に、区切った位置で再生されないとコメントで指摘がありました。
古のWindowsパソコンにLameを入れて、可変ビットレート(VBR)でエンコードしたファイルを作成。実験すると、指摘どおり区切り位置とずれて再生されています。
この問題を解消するには、毎回ファイルをaiffにデコードして保持する必要があるかもとおそれおのののきました。
調べると、Stack Overflowにこんな記事がありました。
AVPlayer seeks to wrong position in a HLS Audio Stream
この記事にでてきた
AVURLAssetPreferPreciseDurationAndTimingKey
をtrueにすることで、精確なアクセスができました。
おおがかりな改修にならずに助かりました。

再生中に、再生/再生不要切り替えのジェスチャーを繰り返すなどの操作を行なっていると、まれに再生が止まってしまい、そのあと、再生ボタンを押しても反応しなくなる不具合。
この不具合に以前遭遇しましたが、その後、なかなか再現しないことから後回しにしていたもの。
コメントで指摘を受けて、あらためて、調査開始しました。
まずは、この不具合を再現するために、数秒ごとに再生/再生不要切り替えのジェスチャーを繰り返す処理を組み込んで実験。数十分再生を続けていると、再生が止まる不具合が発生。AVPlayerItemのStatusがFailedになっています。
Failedになると、そのAVPlayerとAVPlayerItemでは再生できなくなります。
このため、再生ボタンを押しても再生できなくなっていたのでした。
AVPlayerとAVPlayerItemを再作成することで、再生ボタンが機能するよう修正しました。

今回のアップデートでは、以前から気になっていた点を改修できました。
これからもRepete Plusをよろしくおねがいします。



投稿者:

nackpan

nackpan

iOSアプリを作っています。 リピーティングに便利な「語学学習支援プレイヤー」つくりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください