Android(HT-03A)でiPhone版ニコニコ動画にアクセスする(2)
Android(HT-03A)上での実装
時間軸に沿って状態が変わるデータとしては、画像、音声、コメントの3種がある。このうちコメントは、表示時には画像(ディスプレイに表示するデータ)として扱うので、実質的には2種類になる。
今回はより簡単な画像データについて、ストリーミング再生を行ってみることにした。
画像データは応答に含まれるバイナリデータの中にJPEGフォーマットで埋め込まれている。この部分のみを抽出して、適切な周期で次データに更新していけばよい。
JPEGデータ部は、バイナリエディタで見ると”JFIF”の文字列が読み取れる部分の少し前から始まる。もう少し正確に言うと、FFD8で始まって5バイト先に”JFIF”がある箇所からFFD9までになる[1]。
今回は、BitmapFactory.decodeStreamメソッドでストリームをBitmapに変換し、ImageView#setImageBitmapで表示する、という処理を一定間隔で実行した。
この「一定間隔で実行」の実現は、Handler#sendMessageDelayedを利用した[2]。SwingのEDTに相当するスレッドで描画する必要があると思われるが、この辺りについては全く調査していないため、正しい実装はどうすべきなのかは不明。
その他Androidプログラミングに関する注意点(というより自分用メモ)は以下の通り。
- AndroidManifest.xml編集
- XML解析
- JDKでjavax.xml.parsers.SAXParserFactory#newSaxParser()を使用していたコードをそのままAndroidへ移してもコンパイルエラーにならず実行時エラーも発生しない。が、パースは期待通りに行えない。ログにはその旨出力されているがわかりにくい。
- org.xmlpull.v1.XmlPullParserを使用するのが常套なようだ[参考3]。
- 現在出版されているAndroidプログラミングに関する書籍では、HTTP通信の解説を行っているものはまだ少ないようだ。Amazonで確認できたのは以下の2冊のみだった。
- Android 1.5プログラミングバイブル
/ 布留川英一 (目次)
- Google Android アプリ開発ガイド
/ クロノス・クラウン他 (目次)
- Android 1.5プログラミングバイブル
iPhone/iPod touch版ニコニコ動画サービスに関する注意点もある。
- 非プレミアムアカウントでは、1日に2回までが非エコノミー、それ以降はエコノミーで再生される[ascii]。
- 非プレミアムアカウントでiPhone用に変換されていない動画を選択しても再生できない[FAQ]。
- swf形式の動画はニコニコ動画モバイル利用者が視聴している必要がある[FAQ]。
参考:
- [1]おこめ, JPEG フォーマット辞典 – しいしせねっと, JPEGファイルのフォーマット
- [2]クジラ飛行机, 八角研究所 : Android で再開する Java プログラミング(3) - モグラ叩き, 定期的な描画
« Android(HT-03A)でiPhone版ニコニコ動画にアクセスする(1) | トップページ | Androidプログラミング系の書籍を立ち読みしてきた »
この記事へのコメントは終了しました。
トラックバック
この記事へのトラックバック一覧です: Android(HT-03A)でiPhone版ニコニコ動画にアクセスする(2):
» 【ダウンロード違法化直前】HT-03Aでニコニコ動画をストリーミングその2 [雪羽の発火後忘失]
Grails徹底入門 山田 正樹 山本 剛 上原 潤二 永井 昌子 杉山 清美 杉浦 孝博 笠原 史郎 香月 孝太 福岡 竜一 伊堂寺 北斗 サンプルコード以外でGrailsを走らせたのは初めてかもしれない。 【ニコニコ動画】【ダウンロード違法化直前】HT-03Aでニコニコ動画をストリーミングその2 以前、iPhone/iPod touch用の公式ニコニコ動画アプリの動作をAndroid上で一部シ... [続きを読む]
« Android(HT-03A)でiPhone版ニコニコ動画にアクセスする(1) | トップページ | Androidプログラミング系の書籍を立ち読みしてきた »
コメント