2018/06/03(Sun)Xperiaのミュージック(Walkman)アプリのプレイリストをバックアップ・機種間移行する手順
2018/06/03 15:59
外部からmicro SD/SDHC/SDXC経由で入れたm3uに関しては簡単だが、お気に入りリストの移行は本体内のデータベースに記録され、ファイルの形で移行できない。それを解決する方法のメモ。
2024年6月 Android 14対応の方法について一番下へ追記しました。
2024年11月 Android 14にて移行済みプレイリストを再編集可能にする方法を追加しました。
前提
ここではAndroid 8(Oreo)機種でのXperiaで検証。移行に使用したアプリなどはAndroid 2.2移行の対応だったので、基本的にAndroidベースのXperiaならどれでも応用出来るはず。
本体データベース
ミュージックアプリ内で自動的に作成される3つのプレイリスト「お気に入り」「最近再生した曲」「再生回数トップ」については、m3uファイルの形ではなく、メディアストレージというシステム内のデータベースに保管されている。(本題からは逸れるが、これのデータ領域を削除すると、今回移行しようとしているお気に入りのプレイリストなども丸ごと消えてしまうので注意。)
Shuffle Music Playerなどの他の音楽再生アプリで、それらをエクスポートすることは出来るのだが、逆にインポートは出来ない。
ということで…
メディアストレージの情報を読み書きできるソフト
が、これPlaylist Backupだ。少々無骨なインターフェースながら、ミュージックアプリが使用しているプレイリスト含め、認識済みの全てのプレイリストに帯するインポート・エクスポート・重複削除などの操作ができた。
起動すると、こんな感じ。"System Playlists"を選ぶ。
すると、"Music_favorites", "Music_recently_played_tracks", "Music_most_played_tracks"という3つのプレイリストが見えるので、必要なプレイリストを開き、"Export playlist"を選ぶ。
これでm3u形式のファイルが出来上がるので、Google Drive等のクラウドなり、micro SD経由で転送するなり、機種間移動ならAndroidビーム(NFC通信)を使って転送すると良いだろう。
パスの修正
先ほど出力されたm3u内は、絶対パスで音楽ファイルの場所情報が記録されているため、音楽ファイルを別のmicro SD上に保管する場合や、本体ストレージ上でも新旧環境でパスを変更する場合は、登録曲として認識されない。(インポートしても0件のまま)(SDカードの場所は機種やOSバージョンによって本当に様々である…)
Android上のテキストエディタで一括置換しても良いが、私はPC上に一旦落としてmicro SD上のパスを一括置換した。
最近のAndroid 7/8系では、micro SDに保管した場合、"A1B2-C3D4"の部分がカード固有の番号が割り振られるようだ。
#EXTM3U #EXTINF:327,IroniA - Lemm /storage/A1B2-C3D4/music/Lemm/Arhke/02 IroniA.m4a : :
インポート手順
どうやらインポート時は、受け皿となるプレイリストが必要なので、一度ミュージックアプリを起動し、お気に入りに1曲登録→削除等をして、空の"Music_favorites"をメディアストレージ上に作っておく必要がある。その上で、先ほどのPlaylist Backupアプリを立ち上げ、"Import Playlist"を選ぶ。
Advancedタブに移動し、先ほど手直しをしたm3uファイルを読み込ませ、"Music_favorites"にチェックを付けて、"Start"をタップ。
# 400曲近いお気に入りを、1個1個操作して再登録とか狂気の沙汰……
これでインポート完了。
micro SD再スキャンや、再起動、MTP接続してアレコレなどの手順は一切不要で、完全に移行できた。
が、このようにmicro SDを交換するのは、故障以外にも容量変更などで容易に起こりうることなので、インポート・エクスポート機能はあって欲しい所。クラウド全盛期だから、再ダウンロードすれば…って考えなんだろうか。
同一機種間でmicroSDを変更する場合の注意
同一機種間でmicroSDを変更する場合、新しいSDカードを挿入する前にに書きだしをしておくこと。さもないとお気に入りは消えてしまうようだ。「お気に入り」プレイリストに曲が登録できないとき
ミュージック(Walkman)アプリのユーザーデータ・キャッシュを全て削除すると、再度登録できるようになる。メディアストレージ(Media Storage)のユーザーデータを削除したときは、ミュージック(Walkman)側も削除した方がよさそう。
Android 14でINSTALL_FAILED_DEPRECATED_SDK_VERSION
Android 14機種でのXperiaではSDKバージョンの下限がアプリSDKレベルを上回ったことにより、Playlist Backupのインストールがブロックされる。USBデバッグ接続してからadbを使って
adb install --bypass-low-target-sdk-block "Playlist Backup_v1.2.2.apk"とやれば無視してインストールできるのだが、Musicアプリのプレイリストと同期が不完全みたいで、プレイリストは作られるが中身が追加されないし、Music側で作成したプレイリストは見えない。
Android 14でプレイリストをImport/Exportする方法
仕方が無いので別のアプリを探していたところ、動作する物を発見。音楽プレイリスト管理(英語名:Music Playlist Manage)
やや広告の主張が激しい物の、音楽ファイルへのフルパスが1行ずつ記載されたm3uを食わせると、すんなりMusicアプリからプレイリストとして認識した。
機能的には、インポートだけでなくエクスポートもある模様。
こちらがインポート後の様子。00Favorite.m3uを読み込むと、そのまま00Favoriteというプレイリスト名になる。試した限りでは、後からRenameする方法は反映されなかったので、予めファイル名を変更しておくことをお勧め。
Android 14でプレイリストを再編集する方法
前節の方法でインポートは出来るが、プレイリストを開くと…メニューから編集が何故か出来ない。この機種特有というよりは、この挙動は以前のWalkmanアプリ時代から何故かあり、おそらくファイルとして保存されているm3uのプレイリストの編集には対応しないという方針なのだろう。つまり、Musicアプリから作成した(m3uファイルが存在しない)プレイリストのみ編集可能ということになる。
しかし、Musicアプリから作成したプレイリストは先ほどの音楽プレイリスト管理(英語名:Music Playlist Manage)からは確認できず、そちら側で作成したプレイリストもMusicアプリで表示されない。困った。
と思ったら、Musicアプリ内でプレイリストを複製する方法があり、これを使えばプレイリストをMusicアプリで編集可能かつ、1個1個再登録する手間を省けるのでメモしておく。
やり方:
1. 音楽プレイリスト管理でm3uファイルを取り込み、Musicアプリから再生可能になっていることを確認する
2. 該当のプレイリストの楽曲数を、Musicアプリの≡メニュー→プレイリスト画面から確認しておく
3. そのままプレイリストをタップし、何でも良いので楽曲を再生状態にする
3. ≡メニュー→再生キューを開く
4. …メニュー→保存を選ぶ
5. 新しいプレイリスト名をつけて保存する
6. 新しいプレイリスト側に同数の楽曲が登録され、プレイリストを編集出来る状態であることを確かめる。
ちょっとトリッキーだけど、これで不便無く使えるようになったので、めでたしめでたし。