日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android-Frame布局,UI布局切换,录音,照相机,影音播放器,音频播放器

發布時間:2024/9/27 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android-Frame布局,UI布局切换,录音,照相机,影音播放器,音频播放器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<FrameLayout anroid:layout_weight=”1”>

???????? <ImageView android:scaleType=”fitCenter”/>

????????

//沒有標題欄

requestWindowFeature(Window.FEATURE_NO_TITLE);

?

//全屏顯示(隱藏掉狀態欄)

//setContentView之前調用getWindow().addFlages(WindowManager.LayoutParams.FLAG_FULLSCREEN);

????????

Androied-編程UI/布局切換

LinearLayout linearLayout = new LinearLayout(this);

layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT){

???????? textView = new TextView(this);

???????? textView.setText(R.string.hello);

???????? textView.setId(34);

???????? LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(

?????????????????? ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);

???????? linearLayout.addView(textView, textParams);

???????? setContentView(linearLayout,layoutParams);

}

?

Android-多媒體(錄音)

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

?

MediaRecorder recorder = new MediaRecorder();

//從麥克風采集聲音

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

//內容輸出格式

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//音頻編碼方式

recorder.setOutputFile(“/mnt/sdcard/itcast.amr”);

recorder.prepare();//預期準備

recorder.start();//開始刻錄

recorder.stop();停止刻錄

recorder.reset();//重設

recorder.release();//刻錄完成一定要釋放資源。

?

Android-多媒體(音頻播放器)

MediaPlayer mediaPlayer = new MediaPlayer();

mediaPlayer.setDataSource(“/mnt/sdcard/god.mp3”);

mediaPlayer.prepare();

mediaPlayer.start();//開始或恢復播放

mediaPlayer.pause();//暫停播放

mediaPlayer.stop();//停止播放

mediaPlayer.release();//釋放資源

//播放出錯事件

mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener(){

???????? public Boolean onError(MediaPlayer player,int arg1,int arg2){

?????????????????? mediaPlayer.release();

?????????????????? return false;

}

});

?

多媒體(影音播放器)

main.xml布局文件添加視頻畫面繪制的SurfaceView控件

<SurfaceView…>

surfaceView.getHolder().setFixedSize(176.144);//設置分辨率

//下面設置Surface不維護自己的緩沖區,而是等待屏幕的渲染引擎內容推送到用戶面前

SurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

?

//當有新的Activity打開,SurfaceView會被銷毀。當新的Activity關閉后,當前Activity回到前臺,SurfaceView會在onResume()之后被重新創建。因此通過回調完成。

svVedio.getHolder().addCallback(new CallbackImpl())

?

MediaPlayer mediaPlayer = new MediaPlayer();

mediaPlayer.reset();//重置為初始狀態

mediaPlayer.setDisplay(surfaceView.getHolder());

mediaPlayer.setDataSource(“/mnt/sdcard/oppo.mp4”);

mediaPlayer.prepare|start();|pause|stop|release();

?

注:影音播放放在模擬器2.2上有問題,需要移植到2.0平臺下。

?

Android—多媒體(照相機)

surfaceView.getHolder().setFixedSize(176, 144);//設置分辨率

surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

surfaceView.getHolder().addCallback();//回調

WindowManager wm = getSystemService(Context.WINDOW_SERVICE);//窗口管理器

Display display = wm.getDefaultDisplay();//

Camera camera = Camera.open();//打開照相機

Camera.Parameters parameters = camera.getParameters();

parameters.setPreviewSize(display.getWidth(),display.getHeight());//大小

parameters.setPreviewFrameRate(3);//每秒3

parameters.setPictureFormat(PixelFormat.JPEG);//設置照片的輸出格式

parameters.set("jpeg-quality", 85);//照片質量

parameters.setPictureSize(display.getWidth(),display.getHeight());

camera.setParameters(parameters);

?

照片需要在surfaceView.holder回調中完成相機設置并開始預覽,因為需要等holder就緒后才可用,道理同播放器相同。

不能再takePicture之后調用startPreview,因為是異步處理。需要在picCall回調中開始預覽。

?

照相機

//通過SurfaceView顯示取景畫面

camera.setPrevieDisplay(surfaceView.getHolder)

camera.startPrevice();//開始預覽

camera.autoFocus(null);//自動對焦

camera.takePicture(null,null,null,jpegCallback);//拍照片

camera.stopPrevice();//停止預覽

camera.release();//釋放攝像頭。

?

onKeyDown:

public Boolean onKeyDown(int keyCode,keyEvent event){

???????? if(camera != null && event.getRepeatCount()==0){

?????????????????? case KeyEvent.KEYCODE_SEARCH:

}

PictureCallback:

Bitmap bmp = BitmapFactory.decodeByteArray(data,0,data.length);

File jpg = new File(Environment.getExternalStorageDirectory(),”1.jpg”);

FileOutputStream fos = new FileOutputStream(jpg);

Bmp.compress(Bitmap.CompressFormat.JPEG,100,fos);

fos.close();

camera.startPreview();

}

?

使用意圖模擬拍照

若沒有攝像頭硬件,可使用系統內置的provider實現攝像頭功能(該功能2.2的模擬器不支持)

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

//指定輸出文件

//outputFileUri指定照片存放的地址,若有的話存放全尺寸大照片,否則返回位圖。

//onActivityResult方法中接收

Intent.putExtra(mediaStore.EXTRA_OUTPUT,outputFileUri);

startActivityForResult(intent,0);

?

BitmapFactory.Options options = new BitmapFactory.Options();

Options.inSampleSize = 1;

Bitmap bitmap = BitmapFactory.decodeFile(_path,options);

_image.setImageBitmap(bitmap);

?

<!—需要使用如下權限--->

<uses-permission android:name=”android.permission.CAMERA”/>

<uses-feature android:name=”android.hardware.camera”/>

<uses-feature android:name=”android.hardware.camera.autofocus”/>

?

?

總結

以上是生活随笔為你收集整理的Android-Frame布局,UI布局切换,录音,照相机,影音播放器,音频播放器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。