低レベルなヒトの覚え書き
●特別企画: 「Sansa e130」の話。あるいはWindows98とUSB Mass Storage Deviceのこと
5. おまけ(1): シャッフル再生の小ネタ
気づいている人は気づいていると思いますが、「Sansa e130」(以下、e130)のシャッフル再生モードには、あまり好ましくない特徴(バグ?)があります。
ここでは、その対策として筆者が実行していることを紹介します。
[問題]
-
シャッフル再生モードといえば、楽曲はランダムな順番で再生されるはずだが、e130の場合、ある条件のもとでは、本体を起動して最初に再生される楽曲が毎回同じものになってしまう。
[対策前の状況]
-
e130本体のメモリには、現在、その管理下にある楽曲ファイルの一覧をまとめたリストが保存されている。
この内部管理用の楽曲リスト(ミュージックライブラリ)は、e130の起動時に、必要に応じて更新されるのだが、実はその必要性の判断基準がよくわからない。
具体的にいうと、実際に楽曲が増減した場合だけでなく、ある程度の時間、電力の供給が断たれていたことも、更新のきっかけになるらしい(
註1
)。
-
実は筆者は、普段、e130の電源として、通常の乾電池ではなく、ACアダプタを使用している(これについては
別項
を参照)。
必要のないときはプラグをコンセントから抜いているので、当然、その間は電源が完全に遮断された状態になる。
-
こうした事情により、筆者の通常の使い方では、e130を起動するたびに楽曲のリストが更新されるようになった。
そして、それと同時に、どういうわけか(シャッフル再生モードであるにもかかわらず)毎回同じ楽曲が最初に再生されるようになった(ちなみに「(You can still) Rock in America」という楽曲)。
[仮説]
-
あらかじめシャッフル再生モードが指定されていても、起動時に楽曲リストが更新されると、保存されている全楽曲のうち、曲名を文字コード順に並べて先頭に来る楽曲が最初に再生される。
-
ここでいう「曲名」とは、ID3タグのTitleフィールドに記された文字列のこと(MP3ファイルの場合)。
-
本当は文字コードといってもいろいろあるが、とりあえずASCIIの可視部分が頭のほうに置かれていることは確か。
-
ちなみに、実際の楽曲リスト(MUSIC.LIB)をバイナリ・エディタで開いてみても、データ自体が曲名順に記録されているわけではなさそう。
[対策]
-
再生時間がきわめて短い無音の楽曲(?)ファイルを作成し、そのTitleフィールドに「!」(ASCIIで最初に登場する可視文字)で始まる文字列を埋め込んでおく。
このファイルは、再生しても無音のまま瞬時に終了してしまうので、その次に再生される2曲目が事実上の1曲目となる(そしてそれは毎回変化する)。
-
具体的には、再生時間0.01秒(
註2
)ほどの無音のMP3ファイル(16000Hz,8bit,モノラル)を作成し、Titleフィールドの内容を「!」とした。
[結果と残された課題]
-
ねらいは的中。
本体を起動して最初に「聞こえてくる」曲が毎回同じ、ということはなくなった。
-
それでも、こうした使い方を続ける限り、起動するたびに内部リストが更新されてしまうことに変わりはないわけで。
なんだかフラッシュメモリの寿命を無駄に縮めているような気がしないこともない。
[註]
註1:
もしかすると、実はe130のRAMのどこかに何かのフラグみたいなファイルが保存されていて、それはいちおう内部の充電池でバックアップされているんだけれども、その充電池はメイン電源である乾電池を交換するくらいの時間しかもたないようになっている、とかそんなことなのかも。
註2:
もともとのWAVは0.001秒のはずなのに、変換後の某プレイヤーでの表示は0.01秒、それをWAVに再変換すると0.07秒程度になる。
→トップ
,
→前(sans4)
,
→次(sans6)
R.1: 2008/09/02
Copyright (C) 2008 A.Satoshi