MPMusicPlayerControllerに挙動不審
3932 ワード
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" へ >
Author And Source
この問題について(MPMusicPlayerControllerに挙動不審), 我々は、より多くの情報をここで見つけました https://qiita.com/Try-Jizy/items/a346b30fe00ade875c38著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .