A Android Manifest xml application usespermission android nameandroid
- Slides: 26
8.実機で実行 8-1 カメラ・録音関係 1.写真の撮影 A. マニフェストの設定 【Android. Manifest. xml】 ・・・ </application> <uses-permission android: name="android. permission. CAMERA" /> <uses-permission android: name= "android. permission. WRITE_EXTERNAL_STORAGE" />" </manifest>
B.関連クラス 概 要 android. hardware. Cameraクラス static Camera open() void set. Preview. Display(Surface. Holder sh) void start. Preview() void stop. Preview() void take. Picture(Camera. Shutter. Callback shutter, Camera. Picture. Callback raw, Picture. Callback jpeg) void release() void set. Parameters(Camera. Parameter pr) カメラをオープンする サーフェースをプレビュー画面に設 定する プレビューを開始する。 プレビューを停止する。 JPEG保存時の処理を指定して撮影を 行う。 カメラを解放する。 パラメータを設定する。
D. プログラム例(その 1) package jp. camera; import import import java. io. *; java. util. *; android. app. *; android. os. *; android. view. View. *; android. widget. *; android. hardware. Camera. *;
D. プログラム例(その 2) public class Camera. Activity extends Activity { Button button; Surface. View surface. V; Surface. Holder surface. H; Camera camera; /** Called when the activity is first created. */ @Override public void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); Linear. Layout LL=new Linear. Layout(this); LL. set. Orientation(Linear. Layout. VERTICAL); set. Content. View(LL); get. Window(). add. Flags( Window. Manager. Layout. Params. FLAG_FULLSCREEN); button=new Button(this); button. set. Text("撮影");
D. プログラム例(その 3) surface. V=new Surface. View(this); surface. H=surface. V. get. Holder(); surface. H. add. Callback(new camera. Surface. Holder. Callback()); //surface. H. set. Type(Surface. Holder. SURFACE_TYPE_PUSH_BUFFERS); LL. add. View(button); LL. add. View(surface. V); button. set. On. Click. Listener(new camera. Click. Listener()); } class camera. Surface. Holder. Callback implements Surface. Holder. Callback{ @Override public void surface. Changed(Surface. Holder holder, int format, int width, int height) {
D. プログラム例(その 3) try { Window. Manager window. M = (Window. Manager)get. System. Service(WINDOW_SERVICE); Display display=window. M. get. Default. Display(); int rot=display. get. Rotation(); int deg=0; switch(rot){ case Surface. ROTATION_0 : deg= 90; break; case Surface. ROTATION_90 : deg= 0; break; case Surface. ROTATION_180 : deg=270; break; case Surface. ROTATION_270 : deg=180; break; } camera. set. Display. Orientation(deg); camera. set. Preview. Display(surface. V. get. Holder()); Camera. Parameters param=camera. get. Parameters(); param. set. Preview. Size(width, height); camera. set. Parameters(param);
D. プログラム例(その 4) camera. start. Preview(); }catch(Exception e){} } @Override public void surface. Created(Surface. Holder holder) { camera = Camera. open(); Camera. Parameters param=camera. get. Parameters(); List<Size> psize=param. get. Supported. Picture. Sizes(); Size s=psize. get(0); param. set. Picture. Size(s. width, s. height); camera. set. Parameters(param); } @Override public void surface. Destroyed(Surface. Holder holder) { camera. stop. Preview(); camera. release(); } }
D. プログラム例(その 5) class camera. Click. Listener implements On. Click. Listener{ @Override public void on. Click(View v) { camera. take. Picture(null, new camera. Picture. Callback()); } class camera. Picture. Callback implements Picture. Callback{ @Override public void on. Picture. Taken(byte[] data, Camera camera) { try{ File dir =new File( Environment. get. External. Storage. Directory(), "camera. Sample"); if(!dir. exists())dir. mkdir(); File f=new File(dir, "sample. jpeg"); File. Output. Stream stream=new File. Output. Stream(f); stream. write(data);
D. プログラム例(その 6) Toast. make. Text(get. Application. Context(), "写真を保存しました", Toast. LENGTH_LONG); stream. close(); camera. start. Preview(); }catch(Exception e){} } }
2.音声の録音 A. マニフェストの設定 【Android. Manifest. xml】 ・・・ </application> <uses-permission android: name= "android. permission. WRITE_EXTERNAL_STORAGE" /> <uses-permission android: name= "android. permission. RECORD_AUDIO" /> </manifest>
C.関連クラス 概 要 android. media. Media. Recorderクラス Media. Recorder() void prepare() void start() void stop() void reset() void release() void set. Audio. Source(int source) void set. Output. Format(int format) void set. Audio. Encode(int coder) void set. Output. File(String path) android. os. Environmentクラス メディアレコーダ作成 準備 録音開始 録音停止 初期化 開放 オーディオソースの設定 出力フォーマット設定 オーディオエンコーダ設定 出力ファイル設定 static File get. External. Storage. Directory() 外部記憶のディレクトリ取得
D. プログラム例(その1) package jp. Audio; import java. io. *; import android. app. *; import android. os. *; import android. view. View. *; import android. widget. *; import android. media. Media. Player. *; public class Recode. Audio. Activity extends Activity { Button[] button=new Button[3]; Media. Player media. Play; Media. Recorder media. Rec; File dir, file; /** Called when the activity is first created. */ @Override
プログラム例(その2) public void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); Linear. Layout LL=new Linear. Layout(this); LL. set. Orientation(Linear. Layout. VERTICAL); set. Content. View(LL); button[0]. set. Text("開始"); button[0]. set. Enabled(true); button[1]. set. Text("停止"); button[1]. set. Enabled(false); button[2]. set. Text("開始"); button[2]. set. Enabled(true); File dir= new File(Environment. get. External. Storage. Directory(), "Audio. Sample"); if(!dir. exists()) dir. mkdir(); file=new File(dir, "Audio. 3 gp"); for(int i=0; i<button. length; i++) LL. add. View(button[i]); button[0]. set. On. Click. Listener(new Start. Click. Listener()); button[1]. set. On. Click. Listener(new Pause. Click. Listener()); button[2]. set. On. Click. Listener(new Play. Click. Listener()); }
プログラム例(その3) public void on. Resume() { super. on. Resume(); media. Play= new Media. Player(); media. Rec=new Media. Recorder(); media. Play. set. On. Completion. Listener(new Audio. Completion. Listener()); } public void on. Pause(){ super. on. Pause(); media. Play. release(); media. Rec. release(); } class Audio. Completion. Listener implements On. Completion. Listener{ public void on. Completion(Media. Player mp){ button[0]. set. Enabled(true); button[1]. set. Enabled(false); button[2]. set. Enabled(true); } }
プログラム例(その4) class Start. Click. Listener implements On. Click. Listener { public void on. Click(View v){ button[0]. set. Enabled(false); button[1]. set. Enabled(true); button[2]. set. Enabled(false); try{ media. Play. reset(); media. Rec. set. Audio. Source(Media. Recorder. Audio. Source. MIC); media. Rec. set. Output. Format( Media. Recorder. Output. Format. THREE_GPP); media. Rec. set. Audio. Encoder(Media. Recorder. Audio. Encoder. AMR_NB); String path = file. get. Absolute. Path(); media. Rec. set. Output. File(path); media. Rec. prepare(); media. Play. set. Data. Source(path); }catch(Exception e){} media. Rec. start(); } }
プログラム例(その5) class Pause. Click. Listener implements On. Click. Listener { public void on. Click(View v){ button[0]. set. Enabled(true); button[1]. set. Enabled(false); button[2]. set. Enabled(true); media. Rec. stop(); media. Rec. reset(); } } class Play. Click. Listener implements On. Click. Listener { public void on. Click(View v){ button[0]. set. Enabled(false); button[1]. set. Enabled(false); button[2]. set. Enabled(false); try{ media. Play. prepare(); }catch(Exception e){} media. Play. start(); } } }
3.ビデオの撮影 A. マニフェストの設定 【Android. Manifest. xml】 ・・・ </application> <uses-permission android: name="android. permission. CAMERA" /> <uses-permission android: name="android. permission. RECORD_AUDIO" /> <uses-permission android: name= "android. permission. WRITE_EXTERNAL_STORAGE" /> </manifest>
C.関連クラス 概 要 android. media. Media. Recorderクラス void set. Video. Source(int source) set. Video. Encode(int coder) set. Video. Frame. Rate(int rate) set. Video. Size(int width, int height) ビデオソースの設定 ビデオエンコーダ設定 フレームレート設定 ビデオサイズ設定
D. プログラム例(その1) package jp. video; import java. io. *; import java. util. *; import android. app. *; import android. content. pm. *; import android. os. *; import android. view. View. *; import android. widget. *; import android. hardware. Camera. *; import android. media. *; public class Video. Activity extends Activity { Button[] button=new Button[2]; Surface. View surface. V; Surface. Holder surface. H; Media. Recorder media. R; File dir, file; Camera camera;
プログラム例(その2) /** Called when the activity is first created. */ @Override public void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); Linear. Layout LL=new Linear. Layout(this); LL. set. Orientation(Linear. Layout. VERTICAL); set. Content. View(LL); get. Window(). add. Flags(Window. Manager. Layout. Params. FLAG_FULLSCREEN); set. Requested. Orientation( Activity. Info. SCREEN_ORIENTATION_LANDSCAPE); dir=new File( Environment. get. External. Storage. Directory(), "Video. Sample"); if(!dir. exists())dir. mkdir(); file=new File(dir, "Video. Sample. 3 gp"); surface. V=new Surface. View(this); surface. H=surface. V. get. Holder();
プログラム例(その3) for(int i=0; i<button. length; i++) button[i]=new Button(this); button[0]. set. Text("録画"); button[0]. set. Enabled(true); button[1]. set. Text("停止"); button[1]. set. Enabled(false); media. R=new Media. Recorder(); media. R. set. Preview. Display(surface. H. get. Surface()); for(int i=0; i<button. length; i++) LL. add. View(button[i]); button[0]. set. On. Click. Listener(new Click. Listener 0()); button[1]. set. On. Click. Listener(new Click. Listener 1()); } public void on. Destroy(){ super. on. Destroy(); media. R. release(); } class Click. Listener 0 implements On. Click. Listener{ public void on. Click(View v) { button[0]. set. Enabled(false); button[1]. set. Enabled(true);
プログラム例(その4) try{media. R. set. Video. Source(Media. Recorder. Video. Source. CAMERA); media. R. set. Audio. Source(Media. Recorder. Audio. Source. MIC); media. R. set. Output. Format(Media. Recorder. Output. Format. THREE_GPP); media. R. set. Audio. Encoder(Media. Recorder. Audio. Encoder. AMR_NB); String path =file. get. Absolute. Path(); camera =Camera. open(); Camera. Parameters param=camera. get. Parameters(); List<Size> psize=param. get. Supported. Picture. Sizes(); Size s=psize. get(0); camera. release(); media. R. set. Video. Size(s. width, s. height); media. R. set. Video. Encoder(Media. Recorder. Video. Encoder. MPEG_4_SP); media. R. prepare(); media. R. start(); }catch(Exception e){} } }
プログラム例(その5) class Click. Listener 1 implements On. Click. Listener{ public void on. Click(View arg 0) { try{ media. R. stop(); button[0]. set. Enabled(true); button[1]. set. Enabled(false); }catch(Exception e){} }
- Android manifest persistent
- Android application
- Android application framework components
- Android wireless application development
- Splunk datetime.xml
- American progress book
- Travel in a growing nation answer key
- Manifest destiny propaganda poster
- Chapter 12 manifest destiny
- Manifest
- Hailstones
- Waste disposal bowling green
- Rts manifest
- Manifest kandela
- How does this painting represent manifest destiny?
- Is manifest pg
- Manifest destiny map colored
- Manifest destiny effect
- Manifest activity
- America is destined for better deeds
- Costs of manifest destiny
- Pansion voke
- Red cranes by jacey choy questions and answers
- Lor format
- Rcg meaning in shipping
- What is the main idea of manifest destiny
- Define manifest destiny in your own words.