Recording Videos Simply 簡單錄製視頻

來源:互聯網
上載者:User

Your application has a job to do, and integrating videos is only a small part of it. You want to take videos with minimal fuss, and not reinvent the camcorder. Happily, most Android-powered devices already have a camera application that records video. In
this lesson, you make it do this for you. http://blog.csdn.net/sergeycao

Request Camera Permission

To advertise that your application depends on having a camera, put a <uses-feature> tag in the manifest file:

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

If your application uses, but does not require a camera in order to function, add
android:required="false" to the tag. In doing so, Google Play will allow devices without a camera to download your application. It's then your responsibility to check for the availability of the camera at runtime by calling
hasSystemFeature(PackageManager.FEATURE_CAMERA). If a camera is not available, you should then disable your camera features.

Record a Video with a Camera App

The Android way of delegating actions to other applications is to invoke an
Intent
that describes what you want done. This involves three pieces: the
Intent itself, a call to start the external Activity, and some code to handle the video when focus returns to your activity.

Here's a function that invokes an intent to capture video.

private void dispatchTakeVideoIntent() {    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);    startActivityForResult(takeVideoIntent, ACTION_TAKE_VIDEO);}

It's a good idea to make sure an app exists to handle your intent before invoking it. Here's a function that checks for apps that can handle your intent:

public static boolean isIntentAvailable(Context context, String action) {    final PackageManager packageManager = context.getPackageManager();    final Intent intent = new Intent(action);    List<ResolveInfo> list =        packageManager.queryIntentActivities(intent,            PackageManager.MATCH_DEFAULT_ONLY);    return list.size() > 0;}
View the Video

The Android Camera application returns the video in the Intent delivered to
onActivityResult() as a Uri pointing to the video location in storage. The following code retrieves this video and displays it in a
VideoView.

private void handleCameraVideo(Intent intent) {    mVideoUri = intent.getData();    mVideoView.setVideoURI(mVideoUri);}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.