Hatena::ブログ(Diary)

hogeなlog

プロフィール

hogelog

hogelog

小室 直(こむろ すなお)。電気通信大学2003年入学。2010年修士卒業。プログラミングとかしてます。

カレンダー
1984 | 01 |
2006 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2010 | 01 | 06 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 12 |
2012 | 01 | 04 | 06 |

February 23(Wed), 2011

[][] 結婚パーティのお知らせ

私小室直(id:hogelog)とお茶の水大学で博士課程2年の学生の中川真紀(id:MKnkgw)で

3/23に入籍し、3/25,26のいずれかに結婚パーティを開催します。

おそらくかなりくだけた飲み会のようなものです。

詳細は以下のウェブページで随時更新します。

http://partake.in/events/be7593c3-1139-42fa-9f68-68315a853eed

お茶の水女子大の施設を会場として利用し、

徴収額はとりあえず学生: 3000円、社会人: 5000円ぐらいで想定しています。

参加したい方は可能であれば上記のウェブページで(twitterアカウントが必要です)、

そうでなければ私までメールください。

まあ老若男女色々な人が来そうですので割と面白いかもしれません。

暇な人、女子大に興味がある人、ご祝儀を大量にくれたい人などははぜひどうぞ。

February 18(Fri), 2011

[][][] Mac OS XにEasyTetherをインストールするとadbがデバイスを認識しなくなる件

FAQに27. ADB on Mac OS X stops recognizing the attached device after installing EasyTether driver.として書いてある。場当たり的な対応として.bash_profileに以下のようなaliasを設定、Androidアプリの開発するときはEasyTetherをオフにする。

EASYTETHER_EXT=/System/Library/Extensions/EasyTetherUSBEthernet.kext
alias easytether-on="sudo kextload $EASYTETHER_EXT"
alias easytether-off="sudo kextunload $EASYTETHER_EXT"
alias easytether-status="kextstat |grep EasyTether"

February 14(Mon), 2011

[] リアルタイム顔認識

f:id:hogelog:20110214011458p:image

Androidでリアルタイムな顔認識ができるか試してみた。IS06で試してみたら2.4fpsぐらい。動くかわからんけど一応置いときます。https://github.com/downloads/hogelog/android-test/FaceDetect.apk

ソースコードはgithubhttps://github.com/hogelog/android-test/tree/master/facedetect


顔認識自体はandroid.media.FaceDetectorが最初から組み込まれているのでかなり簡単。カメラの映像をリアルタイムに処理するにはCamera.PreviewCallback.onPreviewFrame(byte[], android.hardware.Camera)を使うわけですが、このbyte列がYUV420なる形式にしかならない*1ので自前で変換。ワーキンググループ/金沢支部/第四回勉強会 - 日本Androidの会(日本アンドロイドの会)を参考に。

*1setPreviewFormatを使ってもRGB形式などにはならない

トラックバック - http://d.hatena.ne.jp/hogelog/20110214

February 05(Sat), 2011

[] 録音と再生

AndroidManifest.xmlに

    <uses-permission android:name="android.permission.RECORD_AUDIO" />

を忘れずに。あとはhttp://developer.android.com/reference/android/media/MediaRecorder.htmlに書いてる通りに

 MediaRecorder recorder = new MediaRecorder();
 recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
 recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
 recorder.setOutputFile("/sdcard/hoge.3gp");
 recorder.prepare();
 recorder.start();   // Recording is now started
 ...
 recorder.stop();

といった流れで録音。再生は以下のように。

 MediaPlayer player = new MediaPlayer();
 player.setDataSource("/sdcard/hoge.3gp");
 player.prepare();
 player.start();
...
 player.stop();

録音と再生をするだけの簡単なアプリを書いてみた。簡単で良い。

https://github.com/hogelog/android-test/tree/master/record_and_play

トラックバック - http://d.hatena.ne.jp/hogelog/20110205

February 04(Fri), 2011

[] Wi-FiスキャンしたSSIDの一覧を表示

WifiManager.getScanResults叩いて最後にスキャンした結果の取得。スキャンをさせたいならstartScan。

WifiManager  |  Android Developers

ListViewでSSID一覧を表示させてみた。

f:id:hogelog:20110204005304p:image:h400

package org.hogel.android.wifiscan;

import java.util.List;

import android.app.ListActivity;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class WifiScanActivity extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final WifiManager manager = (WifiManager) getSystemService(WIFI_SERVICE);
        if (manager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
        	List<ScanResult> results = manager.getScanResults();
        	final String[] items = new String[results.size()];
        	for (int i=0;i<results.size();++i) {
        		items[i] = results.get(i).SSID;
        	}
        	final ArrayAdapter<String> adapter = 
        		new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
        	setListAdapter(adapter);
        }
    }
}

android.permission.ACCESS_WIFI_STATEのパーミッションが必要。

githubにプロジェクト置いといてるhttps://github.com/hogelog/android-test/tree/master/wifiscan

トラックバック - http://d.hatena.ne.jp/hogelog/20110204
最近のコメント
Connection: close