プログラミング関係ないんですが、Tipsとして置いておきます。
#起きる現象
タイトル通りなのですが、詳細。
- iTunesでは普通に再生出来る音源である
- iPhoneに同期、またはコピーしてiPhone内にデータがある状態
- 再生すると、残り秒数があり、表示されている情報もその曲の物になっているが次の曲が始まって流れる
- 曲をスキップ、または曲の途中でスキップするような設定はしていない(確認済)
#解決に至るまで辿ったプロセス
この現象が起きた音楽ファイルが幾つかあったので、共通点は何かあるか、身内でも同じ現象が起きた人がいたので、そちらからも少し聞きました。
- 古い(結構昔に取り込んだ)音源である
- CD等の普通に取り込める音源が現存しない(レコードでしか発売されたことがない等)ため、PCで取り込んでiPhoneで聞けるようにした音源である
- Youtubeや、Webラジオとかから取り込みした音源である
ただ単に古い音源、というものについては一応iTunesで取り込んだものなので、取り敢えず置いておいて、二番目の方について、何かしら情報が足りないのか、と考えました。実際、曲の情報を見るとあちこち空欄があります。
- 曲の情報を分かる範囲で埋めてみた
スキップするまでの時間が数秒(具体的に言えば3秒)伸びたが、それ以上はどうにもならず。が、その時に情報のタブをいろいろと見ていて、音源のファイルのフォーマットがまちまちである事に気がついた。MPEG-1とかMPEG-3辺りならまぁ、わかるのだけれど、聞いたことのないフォーマットのものもあった。
で、昔、初音ミクで打ち込みなんかをしていた時期があったこともあって、iTunesでファイルの変換が出来たはずだ、と思いだした。当時はいろんな形式に変換出来たのだが、確か途中から機能が減らされてAAC等にしか変換できなくなって、その機能は使わなくなった記憶がある。
#解決方法
- 該当の曲を選択し、メニューのiTunes→変換→AACバージョンを作成
- 同じ名前の変換された曲が出来るので、元の方を消す(ファイルを残すかどうかはその人の判断で)
- 同期する(同期するオプションをしてない人はiPhone側で消して、iTuneから入れ直し)
- プレイリストからは消えてしまうので、登録してるなら入れ直す
- 完成
#考察
といってもたいしたものでもないんですけど、要するに。
- iTunesとiPhoneで再生できる音源フォーマットが微妙に違う(iPhone側のほうが対応可能なものが少なかったり、正常に読めない物がある)
ただこれだけなんでしょうね。
ただ、WindowsのiTunesからは普通にiPhoneに同期出来て再生も出来ていた曲が、MacのiTunesからは再生できないからiPhoneにコピーしませんと言われる現象もあったりするのでどうなってるのだと思うところもありますが。このファイルについては8,000曲近いライブラリから探し出すのが面倒で探して変換はしてないので、もしかするとこれも解決出来るのかもしれませんがわかりません。
私の所ではこれで数年前に取り込んだもので途中でスキップ(これは表示はちゃんと次の曲に変わる)するものについても解決しました。これについては一応形式はiTunesの古い型で表記されてたものですが、変換して新版になったことで解決しました。
同じ現象が起きている身内はiCloudミュージックライブラリで聞くようにして、ローカルにファイルを置かないことで対処したそうな。iCloudミュージックライブラリがどういう仕組みになっているかはわかりませんが、考察した内容とかとはちょっと合わない気もするんですが、さてさて…。
これでMr.ChildrenのReplayがやっと普通に聞けるなぁ。
#最後に
これは当たり前ですけど、あくまで自己責任で行ってください。この記事の内容を行ったことでうまく行かなかったり不利益が出たとしてもこちらとしては一切感知しません。うまくいきました!というご報告は喜んで受け取りますけども。