Android向け、音楽再生アプリの作成に向け、まずはMac側の母艦アプリを作っている。
とにかく、自宅サーバへ再生履歴を送信するためには、再生回数と最後に再生した日時をiTunesに書き戻さなければならないので、インタフェースになる母艦アプリは必須になる。iTunesが提供しないのだから仕方がない。
で、書き戻しは、再生アプリを作った(試作部分レベルで良い)後にして、まずは、音楽ファイルのコピー(コピー対象プレイリストの選択、プレイリスト情報のコピーも含む)部分を作った。
DRMのかかったiTunes Storeで購入したファイルに対する抜け道も作りこんだ。ベンチマーク的には、USB接続のSATA2.5inch HDDを使い、800前後の256kbps AACファイル中心の音楽ファイルをコピーするのに7分前後を必要とし、これにプレイリスト情報の作成などに1分ほど追加で時間がかかる。
最初のコピーだと時間がかかり過ぎのようにも見えるが、第5世代のiPod(HDDモデル)をUSB接続で同期し、700曲前後のファイル転送が発生する状況を作ってやると同じくらいの時間がかかるのでそれほど時間がかかっているわけでもない。
また、きちんと2度目以降はファイルを上書きするのではなく、差分転送するようにコーディングした。
ただし、Android端末をUSB接続した場合、対象がHDDではなく、SDカードになるのが心配である。速度面と、書き込み信頼性で。実は、最初の頃のテストでは16GBのSDHCカードを使っていたのだが、ファイルコピーで抜けが出たため、エラーの原因がカードかプログラムか切り分けるためHDDに変更したのだ。
書き込みの抜けが、このカード固有の現象であればいいのだが、SDカードへの書き込み全般で発生する問題となると、UNIXで言うところの「sync」コマンドの発行のようなファイルシステムへのフラッシュ処理をきちんとしてやらないと書き込みが遅いメディアだからまずいかもしれない。
もしくは、USBをやめて、Wifi経由での同期(C/Sシステム)にしてしまって、SDカードへの書き込みをAndroid OSにやらせてしまえば問題が解決するかもしれない。
自作なら、思いつけばなんでもできる。面白いな。時間かかるけど。
ちなみに、DRMファイルに対する「抜け道」は、DRMクラックをアプリに組み込んだのではなく、DRM付ファイルを再生できないところで、何かを再生して、あたかもDRM付ファイルを再生したかのようにメタ情報を更新する仕組みを作っただけですので、多分、Appleは何も言ってこないのではないかと思っております。
コメント