第一行代码第二版8.3节 调用摄像头和相册

第一行代码第二版8.3节 调用摄像头和相册

废话不多说,直接贴代码
activity_main.xml代码:

<?xml version="1.0" encoding="utf-8"?>



MainActivity代码如下:
package activitytest.example.com.cameraalbumtest;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.provider.MediaStore;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {
public static final int TAKE_PHOTO=1;
private ImageView picture;
private Uri imageUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button takePhoto=(Button)findViewById(R.id.take_photo);
picture=(ImageView)findViewById(R.id.picture);
takePhoto.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
File outputImage=new File(getExternalCacheDir(),“output_image.jpg”);
try{
if (outputImage.exists()){
outputImage.delete();
}
outputImage.createNewFile();
}catch (IOException e){
e.printStackTrace();
}
if (Build.VERSION.SDK_INT>=24){
imageUri= FileProvider.getUriForFile(MainActivity.this,“com.example.cameraalbumtest.fileprovider”,outputImage);
}else{
imageUri=Uri.fromFile(outputImage);
}
Intent intent=new Intent(“android.media.action.IMAGE_CAPTURE”);
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent,TAKE_PHOTO);
}
});
}
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch (requestCode){
case TAKE_PHOTO:
if (requestCode==RESULT_OK){
try {
Bitmap bitmap= BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));
picture.setImageBitmap(bitmap);
}catch (FileNotFoundException e){
e.printStackTrace();
}
}
break;
default:
break;
}
}
}
file_paths.xml代码如下:



AndroidManifest代码如下:
<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity android:name=".MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
按照书上的文字说明,一步一步操作,就可以实现功能了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
video.js版本8.3的详细配置项如下: 1. Sources配置项: - src:视频文件的URL地址 - type:视频文件的MIME类型 2. Controls配置项: - playbackRateMenuButton:是否启用播放速度选项 - subtitlesButton:是否显示字幕按钮 - volumePanel:音量控制条配置项 3. Poster配置项: - poster:视频封面图片的URL地址 4. TechOrder配置项: - techOrder:指定视频播放时所使用的技术顺序 5. Plugins配置项: - plugins:指定所使用的插件 下面是一个使用video.js版本8.3的示例代码: ``` <!DOCTYPE html> <html> <head> <link href="https://vjs.zencdn.net/7.10.2/video-js.css" rel="stylesheet"> <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> <script src="https://vjs.zencdn.net/7.10.2/video.js"></script> </head> <body> <video id="my-video" class="video-js" controls preload="auto" width="640" height="264" poster="MY_VIDEO_POSTER.jpg" data-setup='{"techOrder":["html5", "flash"]}'> <source src="MY_VIDEO.mp4" type="video/mp4"> <source src="MY_VIDEO.webm" type="video/webm"> <p class="vjs-no-js"> To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a> </p> </video> <script> var player = videojs('my-video', { playbackRateMenuButton: true, subtitlesButton: true, volumePanel: { inline: false }, plugins: { examplePlugin: { option1: 'value1', option2: 'value2' } } }); </script> </body> </html> ``` 这个示例代码中,我们使用video.js版本8.3来播放一个视频。其中,我们指定了视频文件的URL地址和MIME类型,以及视频封面图片的URL地址。我们还配置了播放速度选项、字幕按钮和音量控制条的显示。此外,我们还指定了所使用的技术顺序和插件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值