6月 5


device-2013-06-05-100241device-2013-05-16-074446

録音ファイルの保存場所を外部SDにすることを強く推奨いたします。

スマートフォンで一番ややこしいのは外部SDや内部メモリーの認識です。

ややこしくさせているのは、LinuxベースのAndroidにはWindowsで言う所のCドライブとかDドライブ概念は無く、全てマウントと言う概念で、アクセス出来るデバイスは全てフォルダーとして簡単に扱えます。

これは、単なるフォルダーかmicroSDに連結されたフォルダーかと言う違いがあります。

これが、メーカーによって独自に設定されているのでアプリ提供側として、統合した的確な設定をすることが困難です。

そこで、端末に登録されているであろう環境変数の値を取得して極力自動的に外部SDの設定になるようにしていますが、環境変数自体もメーカー独自に設定しているため一部正しく処理が行えない場合もあります。

Androidの端末には環境変数と言うものが用意されており、端末の特有情報をそこから取得するのですが、最近の機種では内部メモリーもsdcardと言うフォルダーで認識させているので、microSDと混同される利用者も多くい

mciroSDは自分で抜き差し出来るチップの事で、内部メモリーは基板に内蔵されている抜き差し出来ない記憶領域でパソコンでいえば、内蔵HDDです。

microSDはさながらUSB接続のHDDみたいな扱いと言うとわかりやすいのでは無いかと思います。

録音ファイルを保存する場所を外部SDにさせようと思っているので、環境変数から「EXTERNAL_STORAGE」と言う内容を取得することになるのですが、実はこれは内部メモリーのパス名が登録されている為に、外部SDのパスが取得出来ません。

そこで、zSuperRecorderは端末に登録されている環境変数をくまなく検索して「おそらく」と言う曖昧な方法ですが、外部SDのパスを取得しています。

zSuperRecorderの設定最下部におまけ的に端末の環境変数の一覧を表示する項目を用意しています。

これは、私がスマートフォンラウンジなのでTrial版をインストールして調べる時の為に用意したものですが、そのリストを表示すると最近の傾向では「EXTERNAL_SOTRAGE_DOCOMO」等と言う環境変数や、なかには「EXTERNAL_SOTRAGE2」と言う環境変数を見かけるようになりました。

これらの環境変数にその端末の外部SDカードのパス名が登録されている用なので、zSuperRecorderでは環境変数の中の「EXTERNAL_STORAE」と言う文字を探し出し、これは15文字なので、16文字以上あればそれを外部SDと言う判断にしています。

その方法で大抵の機種では正しく外部SDのマウント名を設定出来ているので良しとしてください。

いずれ、ここもINTERNAL_STORAEなどと新たな環境変数が追加されるような気もしますが、そのときはまたアップデートで対応します。

後は、36番の設定でフォルダー選択ダイアログを表示する様にしているので、保存場所を確定する操作は簡単になっています。

 Android4.4からSDカードのアクセス方法が限定されました。

Android4.3までは外部SDの好きなところにフォルダーを作ったり、ファイルを保存したりで来たのですが、Android4.4から外部SDのルートにあるAndroid/data/<…zSuperRecorder…>files/に限定されています。
Android4.4で外部SDにデータを保存したい場合は適宜、外部SDカードにあるアプリケーション専用フォルダーに変更して下さい。