LoginSignup
3
1

More than 3 years have passed since last update.

MPMusicPlayerControllerに挙動不審

Last updated at Posted at 2018-08-07

MPMediaPickerControllerとMPMusicPlayerControllerとを組合せた音楽プレーヤーで発生しました。

  • 追加記入 : 2019年12月24日、著者記事へのアクセスは、本記事最上部の「Try-Jizy」をクリックするとアクセス可能なリストが表示されます。よって、記事最下部の「著者記事等へのアクセス案内」からこの部分を削除しました。
  • 追加記入 : 2019年12月09日に『AudioUnit(iOS)を20個以上用いて「ラウドネス周波数特性補正付き音楽再生アプリ」を独学で造り上げた奮闘記 [ その後 -2 ]』を投稿しました。
  • 追加記入 : "iOS-12.1"に対応させた"私のApp"を、2019-03-16に"Ver-2.2"としてリリースしました。長いトンネルでした。後日、詳細や顛末を投稿させて頂きます。2019-03-17 by Try-Jizy
  • iOS側で変更した正確なタイミングは確認出来ませんが、"私のApp"では、「iOS 11.3」で異変に遭遇し、バグと考えて待機。「iOS 11.4」での修正を待ちましたがダメでした。
  • 挙動不審内容
    (1)「skipToPrevious(前の曲に移動)」を操作すると、同じ曲の先頭からの再生になる。
    (2)「skipToPrevious」を操作したすぐ後で、「skipToNext(次の曲に移動)」の操作すると「曲とび」が発生する。
    (3) 再生中に「Artwork Image」を呼び出すと、次の曲の「Artwork Image」が表示される。
    (4) 選曲リストを最初から最後まで「自動的に順送り再生する」場合では、問題は発生しない。
    (5)「skipToNext(次の曲に移動)」の操作のみの再生では、問題は発生しない。
  • MPMediaPickerControllerの役割
    (A) iPod Libraryにアクセスして、Pickerの表示と選曲リストの作成。
    (B) 選曲リストは、「play」を実行すると設定が実行されるらしい。
    (C) 曲情報は、nowPlayingItem(currentItem)として呼び出す。
    (D) 曲情報に含まれる主たる情報。
     ・ 音楽 Data File 。
     ・ 曲やアルバムのArtwork Image。
     ・ 曲の Title / Artist / AlbumArtist 等の名前テキスト。
     ・ 曲の再生時間など。
     ・ 選曲リストの総局数と曲順番号、シャッフルの曲順設定。
  • MPMusicPlayerControllerの構成
     通常、下記のPlayerと組合せて選曲リストの曲を再生する。
     ・ applicationMusicPlayer
     ・ applicationQueuePlayer
     ・ systemMusicPlayer
  • MPMusicPlayerControllerによる操作
     Playerの操作
     ・ Play / Pause / Stop など。
     ・ Next(次の曲) / Previous(前の曲) / Beginning(曲の頭から再生) など。
     ・ repeat(リピート再生) / shuffle(曲順をシャッフル) など。
  • 挙動不審の原因を分析
    (a) 色々と動作確認を重ねて、「曲の再生をスタートして"短い時間経過" or "アクセスする"とnowPlayingItemに次の曲の曲情報がセットされる」ためと考えました。
    (b) しかし、プログラムがどのように変わったのかまでは調べられないので、ViewControllerのコードで「カット&トライ」を繰り返し、必要な動作を確保しました。結構ややこしいコントロールになります。
  • 関連資料にアクセス
     ・
    < DeveloperのiPodLibraryAccessGuideへ>
     ・ < DeveloperのMPMusicPlayerControllerへ>
  • < まとめ >
    ▪️私と同様な事例でお悩みの方には、「ズバリの解決策」としては提示出来ていません。それは、"私のApp"では「チョット古臭いデザインのオリジナル操作面 & ロジックを使っているため参考にはならない」と考えたからです。もちろん、"私のApp"では解決済みです。
    ▪️著者 : Try-Jizy (トライ・ジジー) / (2018-8-7 脱稿)
    ▪️著者記事等へのアクセス案内 : < AppStore内 "私のApp" == "dddAFPlayer" へ >
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1