FOMAにメディアファイルを入れる方法
メディアファイルのフォーマット変換サービスが、最近のFOMA端末では動かないとのことなので、情報を集めていました。どうやら、AAC on MP4とWMAしか再生できなくなっているということが分りましたので、実機で試してみることにしました。その仮定で、MTPやらデータベース化やら、技術的な問題が出ましたので、(全部のFOMAに当て嵌るかは不明ですが)整理します。特に、Linuxで携帯を利用するMTPのやり方について詳しく解説します。
実機はテスト用の昨年入手していたDoCoMo F-08Bです。さっそく作成した音声ファイルを読み込ませようとすると上手く行かないのでした。
- USBマスストレージ: ファイルはコピーできるのですが、データフォルダからは見えません。
どこにコピーしても、ネットで調べた命名規則(mol060みたいな)にしても駄目。 - SDカードにコピー: これも1と同様。こんなんでは、マスストレージやSDカードに対応してると言えないのでは…。
- メール添付: ミュージックに入らずに、iモーションの「データ交換」に入る。
再生可も、ミュージックプレイヤーからはアクセスできないためプレイリストに入れられない。 - FOMAシリーズSDユーティリティ: それで仕方なく、富士通製転送プログラムをインストールする。
勿論 Windows でしか動かない。音声ファイルはコピーできるものの、依然としてミュージックプレイヤからはアクセスできない。
メディアファイルに関しては、「FOMA90Xiでしか使えないよ」、という警告が出る。 - Window Media Player: それで、Windows Media Player 11のファイルの同期を行うことでコピーできました。
なんと言いますか、無理やり機能制限を加えて行く内に、ぐちゃぐちゃな仕様になってしまいましたという感じの、典型的なガラケーでイライラさせられてしまいました。皆さん、これで使うことができているのでしょうか?
ちょっと理由を考えてみました。
多分、1と2は、メディアファイルをデータベース化したからと思われます。怪しいファイルができていたり、太ったりするので、これに入っていると思われますが、中身が読めません。iPodやWalkmanと同じで、プロプラな制御しかさせないよ、というがっかりな仕組みです。
4はいかにもなガラケー的な解決方法で、追加で(タイトルが半角カナ文字な)アプリをインストールしないとなりません。しかも、これで完結できないのが、信じられないところです。
5は、これまた嫌われ者のMedia Player 11を使わないとならないということと、いちいち、端末設定をMTPモードに切り替えないとならないというゴミっぷりです。WMP11は、iTunesと同じく、ただ音楽を再生したいだけなのに、不要な音楽を新しく買え買え、言われてうんざりです。
整理すると、音声ファイルはデータベース管理になっていて、ファイルシステムのファイルとしては見えません。従って、SDカードにファイルとして書き込むことはできますが、携帯電話から音声ファイルとしては認識されなくなります。代わりに、本体はMTPモードを持っています(マスストレージ上のアプリプロトコルではなく)。MTPはケータイの中でデータベースに接続されているため、データフォルダやミュージックプレイヤ等から見える状態で書き込まれます。
MTP
Microsoft発案のメディア転送プロトコルですが、ファイル単位でマニピュレートするだけのもののようです。本当にこんなもの新しくいるの?って感じです。しかし、幸いなことに、Linuxでも使えることが分りました。
- 最低限必要なのは、libmtp。libusbがなれば要インストールですが、最新のものではlibmtpがコンパイル不可なので、0.1.12版が良いようです。これにはユーティリティが付いており、リスティング、コピー、削除等ができます。
- これでは不便なので、mtpfsを追加します。これによって、ファイルシステムにマウントすることができるようになります。
libmtpには、以下のようなユーティリティが付いていて、大体のマニピュレートを網羅しています。
mtp-albumart mtp-files mtp-newfolder mtp-thumb
mtp-albums mtp-folders mtp-newplaylist mtp-tracks
mtp-connect mtp-format mtp-playlists mtp-trexist
mtp-delfile mtp-getfile mtp-reset
mtp-detect mtp-getplaylist mtp-sendfile
mtp-emptyfolders mtp-hotplug mtp-sendtr
デバイスは、mtp-detectで表示されていれば認識されていることになります。(継いだだけの段階では、ドライバがないよ、と言われます)。しかし、mtp-filesしてもフラットにファイルがリストされてしまい、かなり使い難いです。
マウントするためには、mtpfsを使います。fuseがなければ、事前インストールが必要になります。これも理由は不明なのですが、デバイスファイル経由のアクセスにはされていないみたいで、マウントはいきなり、以下のようにします。
mtpfs -o allow_other /mnt/mtp
デバイスファイルがないので、mount -vt mtp ...のようにはできなくて、恰好悪いです。
しかしながら、これによって、Linuxでも扱えるようになりました。ケータイXXX転送みたいなプロプラなアプリを購入しないとならないよりはマシとも言えるかもしれません。