MediaRecorder.AudioSourceに設定できる値
CAMCORDER
カメラデバイス
DEFAULT
機種依存
MIC
マイクロフォン
VOICE_CALL
受話、送話の両方を録音
VOICE_DOWNLINK
受話のみ録音
VOICE_RECOGNITION
音声認識
VOICE_UPLINK
送話のみ録音
月別: 2012年9月
センサータイプの定数一覧
センサータイプの定数一覧
Androidのセンサーの定数のメモ
TYPE_ALL
すべてのセンサー
TYPE_ACCELEROMETER
加速度センサー
TYPE_GRAVITY
重力センサー
TYPE_GYROSCOPE
ジャイロセンサー
TYPE_LIGHT
光センサー
TYPE_LINEAR_ACCELERATION
単方向加速度センサー
TYPE_MAGNETIC_FIELD
地磁気センサー
TYPE_ORIENTATION
方位センサー
TYPE_PRESSURE
圧力センサー
TYPE_PROXIMITY
近接センサー
TYPE_ROTATION_VECTOR
回転ベクトルセンサー
TYPE_TEMPERATURE
温度センサー
Androidの音声認識
Androidで音声認識するには
android.speechパッケージの
RecognizerIntentクラスを使用します
まずは
RecognizerIntent.ACTION_RECOGNIZE_SPEECH
を使い、intent作成
具体的には
Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intentには
putExtra()で追加情報の指定ができるので
これを使用
言語モデルは
EXTRA_LANGUAGE_MODEL
アイコンと一緒に表示する文字は
EXTRA_PROMPT
EXTRA_MAX_RESULT
は返す値の数
これを指定しないと
複数の候補が出てくる
例えば
きょうのりょうり
と音声なら
今日の料理
京の料理
というかんじになるので
これを防止するために使う
アクティビティに結果を返す
つまり、音声認識したのをトースト表示したり
Web検索に適用するなら
startActivityForResult()
でインテントを発行する
アクティビティ作成したときに
private static final int REQUEST_CODE=0;
としておけば
startActivityForResult(intent,RESULT_CODE);
というように
どのアクティビティからの結果かを判断できる
ちなみに、音声認識は実機検証でないとできないので
もし、エミュレータで起動確認だけしたいなら
try~catch文で例外処理すること
音声認識は解析できないなら該当なし
と表示され
何も話さないと音声が聞こえませんと
表示される
このあたりは自動でやってくれるため
コードの実装しなくていいので
楽です
toastについて
toastについて
toastを使えば
数秒間メッセージを出して自動的に消えるものができる
エラーとかを出すには最適
Toastオブジェクトは
makeText()
で生成
第一引数に
自分自身
第2引数には
メッセージ
第3引数には
表示する長さを指定します
長さは
Toast.LENGTH_LONG
長め
Toast.LENGTH_SHORT
短め
のとちらか
.show()
で作成したToastを表示できます
開閉パネルの機能実装
開閉パネルの機能実装
これは、
初期化処理ですべてのパネルを閉じて
タイトルがクリックされたら本文を表示するようにすればok
これは、
slideUp()
slideDown()
hide()を使う
まず初期化は
$(‘#panel dd’).hide();
でok
タイトルクリックで表示するようにするなら
clickイベントを使う
var d = $( ‘+dd’,this);
これで、
dt要素に対応する
dd要素を取得
if(d.css(‘display’) === ‘block’){
d.slideUp(1000);
}else{
d.slideDown(1000);
}
開閉パネル実装
開閉パネル実装
これをやると、Wikipediaでクリックしたら
文が出てくるようになる
開閉パネルは
dlリストとして定義
クリックするためのタイトルをdt要素
開閉できる本文をdd要素にする
簡単なソースなら
- タイトル
- 開閉できる本文
続いて、開閉パネルのスタイル設定
注目するべきは
CSSで
display:none;
にしないこと
これは、表示、非表示はjQueryで管理するから
これには理由があり、javascriptが
無効化されてもコンテンツを楽しめるようにするため
もし、CSSで設定なら
javascript無効化すると、何も見れなくなるから
セキュリティー関連で、Javascriptを切るようにしていることもあるため
こういう配慮も必要
フェードアウト処理
マウスポインターが外れたらツールチップをフェードアウト
マウスポインターが外れたときの処理には
mouseoutイベントを使う
$(‘div.tip’).fadeOut(1000)
これで、ツールチップを1秒でフェードアウトさせられる
fadeOut()の構文は
$(セレクター).fadeOut(アニメーション時間)
アニメーション終了時の処理
アニメーション終了したときに実行
.hide(1000,function(){
$(this).attr(‘src’,img.attr(‘src’));
})
このように
アニメーションメソッドの後に
function(){…}
形式で処理を書けば
アニメーション終了したときに処理を
実行できます
終わったら通知して呼び出すということでコールバック関数といいます
アニメーション機能の構文は
$(セレクター).アニメーションメソッド{
時間,
function(){
アニメーション完了後の処理
})
メソッドチェーンにしないのは
終わってから処理じゃなくて
アニメーション完了の前に処理してしまうから
これだとhide()でアニメーションにしても
いきなり画像がすでに変わっているという
妙な感じになってしまう
もし、アニメーションがうまく見れないなら
時間の指定を長くするといい
これは、注意点だが
メソッドチェーンで順番に処理するのは
アニメーションだけで
ほかの処理は即座に実行してしまう