AK380のファイル転送アプリの作成途中でいろいろ気づいたこと

広告

AK380×Mac
 

AK380のプレイリストとファイル転送をどうやろうかと考えていました。
AK100II、120II、240、320、380あたりがMTPで、それ以外はマスストレージとなるようです。
MTPとなるのでWindowsならそのまま転送もできますが、Macの場合は、Android File Transferによる転送となり、今までのFiiOのように繋いでそのままファイル転送というわけにはいきません。


確かに、Android File Transferを使えばファイル転送はできるのですが、iTunesとの連携を考えるとおいしくありません。
そこで、FiiO用の転送アプリをできるかぎり活かすため、MTPをマウントできるものが無いかと探したところ、Mtpfsやjmtpfsなどがマウントできそうです。
Mtpfsは古いようですので、jmtpfsでマウントしてみました。
ここではまったのが、ターミナルでは問題なく内容を見られますが、Finderでは読み込みOKの書き込みNG(エラーコード-43)となります。ファイルが見つからない感じです。
また、アプリから見てみると、やはり書き込み可能には見えなかったので、無理っぽいと思い、他の方法を探しました。
しかし、どれを試してみてもうまくいきませんでした。

 

ターミナルからOKなら、アプリからコマンドラインでコピーすれば良いかと思い試そうかと思っていたのですが、アプリからいろいろ試してみていた時に、ひょんなところから言語を英語にすると書き込み可能というのが返ってきました。
そこで、言語を英語にして、アプリから転送してみたらコピーができました。
これでいけると思ったら、Playlistsディレクトリに書き込んでも0バイトとなり書き込みができません。(ファイルはできあがりますが中身が空です。)
色んなところではまると思いましたが、Musicディレクトリに書き込んでも0バイトとなりました。
MTPだからかなと思い、AK側でファイル書き込みをせずに、一度ローカルにプレイリストファイルを作って、それをAK側に転送してみたら、Musicディレクトリでは問題なしでしたが、Playlistsディレクトリはやはり0バイトでした。
細かいことを書くと、内部のPlaylistsディレクトリはNGでSDカードのPlaylistsディレクトリはOKなんです。
内部とSDで処理を分けるのも大変なので、今回はMusicディレクトリに音楽ファイルもプレイリストファイルも転送することにしました。
AK側ではどこにあっても認識はするので、Playlistsディレクトリを使わないことにしました。

 

さて、次の難点です。いったい何個問題をクリアすれば良いのでしょうか(笑)
次は、プレイリストを作成することはできても、AK側ではプレイリストファイル内のパスでは曲が見つからないようで0曲となってしまいました。
そこで、AKの端末でプレイリストを作って、Mac側で見てみると、FiiOではまったNFC、NFD問題でした。
AKではNFDで作られるようです。ちなみにFiiOはNFCです。
(FiiOで使っているSDをAKに入れたらちゃんと認識したのは何だったのかよく分かりませんが・・・)
何はともあれ、NFDに変換してプレイリストを作ってみたら、認識しましたのでNFDでいくことにしました。

 

これで、iTunes管理のままファイル転送&プレイリストを作成できるようになりましたので、ようやくAK380を堪能できそうです。
FiiOと比べて、固定のところがかなりあるため、シンプルな画面のアプリになりました。

 
Aktransfer 20150508
 

自分用まとめ
 

  • 端末の言語はEnglishとすること(日本語だと文字コードの問題でダメっぽい。NFDにしてもダメだった)
  • プレイリストはNFDで作成
  • Musicディレクトリにプレイリストファイルも転送すること(ただし、SDだけならMusicにコピー後Playlistsに移動でもOK)
  • jmtpfs必須
  • AK接続→Android File Transfer終了→jmtpfs起動→AK Transfer起動
  • SDカードにはあらかじめ「Music」ディレクトリを作成すること。(ルートにはjmtpfs経由では書き込めない模様)

 


そもそも、Android File Transferがコマンドラインから使えれば良かったのに・・・
Githubにlinux用のAndroid File Transferのようなアプリがあり、コマンドラインでも使えると書いてあり、さらにMac対応と書いてあったので、使ってみようと思ったのですが、コンパイルでこけて使えませんでした。残念。
使えたらまた違っていたのかな。

jmtpfsのインストールや起動が必要だったりして、FiiOのようにアプリ起動するだけで使えるわけではないので配布するかはわかりません。

 
Ak380
 

快適AK380ライフ。