mieki256's diary



2012/05/18(金) [n年前の日記]

#1 [android] Android端末からLAN上のPC内にある画像ファイルを順々に閲覧していく方法を調べた

Lenovo IdeaPad A1 から、LAN上のPCにアクセスして、画像ファイルを開きたい。

親父さんが写真を撮ってきた際、IdeaPad A1を使って、夕食後、家族で見れたら楽かもしれないと。親父さんが、わざわざフォトフレームの類に画像を転送して、ACアダプタケーブルをぶらぶらさせながら見せようとしてたので。

方法その1、ESファイルエクスプローラを使う。 :

自宅サーバ(SAMBAサーバ)の共有フォルダにもアクセスできるし、Windows7の共有フォルダにも、ユーザ名とパスワードを入力すればアクセスできた。

しかし、画像を1ファイルずつ、手動で選択していかないといけない感じで。できればスライドショーで見たいので、ちと厳しい。

方法その2、Digital Photo Frame Slideshowを使う。 :

_Digital Photo Frame Slideshow - Google Play

自宅サーバの共有フォルダにはすんなりアクセスできた。が、Windows7の共有フォルダにはアクセスできなかった。「Network」のボタンを押すと、PC一覧に名前は出てくるが、クリックしても中身が見れない。オプション設定で、サーバを決め打ち、かつ、PC名ではなくIPアドレスで指定したら、共有フォルダを覗くことができた。しかし、いちいち入力するのは面倒臭い気もする。

自宅サーバの共有フォルダに、閲覧したい画像ファイルをコピーする、という使い方なら、一番簡単に使えそう。

方法その3、ComittoN (Comic Viewer)を使う。 :

_ComittoN (Comic Viewer) - Google Play

本来は自炊向けコミックビュアーだけど、LAN上のPCにもアクセスできる。

あくまでコミックビュアーなので、クリックしていかないと次の画像に進めない・自動でスライドショーはできない予感。しかし、画像の拡大縮小アルゴリズム?を選べるのはヨサゲ。

方法その4、Windwos Media Player 12 をDLNAサーバ(?)にする。 :

Windows7上で、Windows Media Player 12(以下、WMP12と表記)を、メディアサーバにする、のかな。たぶん。「メディアストリーミングを有効にする」とかなんとか。

_Windows Media Player 12をメディアサーバーとして利用する - Media Link Player
_Windows Media Player 12 設定方法 | ネットワーク接続関連情報 | システムステレオ | サポート・お問い合わせ | ソニー

どんな設定をしたのか忘れた…。とにかく色々設定を変えた。

Andorid側は、 _Skiftaベータ をインストールしてみた。起動後、「メディアソース選択」「プレイヤー選択」「メディアの参照と再生」の順で選ぶ。メディアソースは、「Windows7機の名前:ユーザ名」を選択。プレイヤーは、「LENOVO A1_07」を選択。これで画像や動画が見れるようになった。

ただ、画像一覧が反映されるまで時間がかかるような気がする。Windows7上でライブラリを更新するまでに時間がかかっているのか、クライアント側のキャッシュがなかなか更新されないのかは不明。

あらかじめ、閲覧したい画像について再生リストを作っておけば、それを選ぶだけで、指定の画像だけが再生できる。そのあたりは便利そう。

#2 [android] 実機上で動作確認中

BG2枚+スプライト相当80枚を、IdeaPad A1 ―― 600x1024、Android 2.3.4 端末で描画してみたら、15FPS前後しか出なかった。酷過ぎる。

手前のBGを半透明で描いているから遅いのかなと思い、試しに市松模様で半透明モドキにしてみたけれど。それでも17FPS。2FPSしか速くならない。その上、見た目がチラチラして、とても気持ち悪い。市松模様でそれらしく誤魔化す方法は、1ドットがそのまま出る状況じゃないと使えないのだな。

Canvas#scale() で全体の拡大縮小をしていたけれど、試しに setFixedSize() を使う形に変えてみたり。… setFixedSize() を呼ぶと、surfaceChanged() が再度呼ばれてしまうあたりで少しハマった。また、画面全体にピッチリ引き延ばされてしまうので、縦横比がかなりおかしなことになってしまった。

実機上で動かしてみたところ、前述の枚数・描画面積でも45FPSぐらいになった。ここまで速くなるとは…。その代わり、見た目が汚くなった。拡大縮小する際に、特定の補完処理がかかっているようで、画面がボケボケに。また、前述のとおり、縦横比がおかしくなる。横画面にするとさらに酷い。

つまり、IdeaPad A1に限って言えば。 ということになるのかなと。ただ、端末によって結果が変わるという話もどこかで見た記憶があり。

ここまで速くなるのであれば、基準サイズを、320x480から480x800にしても、そこそこ動くのではないか。試してみたが、残念ながら30FPS前後まで遅くなった。画像が大きい=描画面積が増えてしまうと、やっぱり処理時間がグンと増えてしまうのだろう。

#3 [android] 画面の縦横幅が違うことで悩んでいたり

Androidは画面解像度がバラバラ。縦横比も異なる。リアルタイム2Dゲームの類を作るにあたっては、どうやって対応させたものかと悩んでいたり。GUI部品をずらずら並べて作るタイプの、いわゆるユーティリティ系のアプリなら、まだどうにかなるのかもしれないけれど。その手の2Dゲームの類は、きっちりとドット単位で位置を決めて動かさないとゲームとして成立しないわけで。

とりあえず、縦横比を羅列して眺めてみたり。「長辺/短辺」は、短辺を1としたときの長辺の長さ、ということになる。
長辺短辺長辺/短辺
3202401.3333333333
4002401.6666666667
4322401.8
4803201.5
8004801.6666666667
8544801.7791666667
9604802
9605401.7777777778
9606401.5
9766001.6266666667
10246001.7066666667
10247681.3333333333
12807201.7777777778
12807521.7021276596
12807681.6666666667
12808001.6
13668001.7075

一番小さい値で、1.333…。一番大きい値で、2。本当にバラバラ。違いがあり過ぎる。

1.333に合わせて基準となる画像やレイアウトを作っておいて、それを、縦横比が2の端末で、画面全体に引き延ばしてしまうと、見た目がとんでもないことになる予感。できれば、ゲーム画面内の縦横比は合わせておきたい。となると、上下もしくは左右に隙間を入れるしかナサゲ。

dipなる単位を使えばいいのかなと思ったけれど、ldpi、mdpi、hdpi それぞれに 1024x600ピクセル等があるということは、論理サイズなるものからして、異なる大きさだらけのはずで。となると、dipとやらで指定しても全然解決しない気がする。さて、どうしたもんか。

以上、1 日分です。

過去ログ表示

Prev - 2012/05 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project