【发布时间】:2016-12-02 09:23:08
【问题描述】:
我想对图像、视频和音频使用相同的 onActivityResult。
问题。
当我选择音频时,它会在视频和图像中保存音频的路径。
我在分离图像、视频和音频时遇到问题。
我的代码。
private static final int SELECT_PICTURE = 1;
private static final int SELECT_AUDIO = 1;
private static final int REQUEST_TAKE_GALLERY_VIDEO = 1;
音频、图片、视频
addVideo.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("video/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Video"),REQUEST_TAKE_GALLERY_VIDEO);
}
});
addAudio.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("audio/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Audio"),SELECT_AUDIO);
}
});
addImage.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
}
});
onActivityResult
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_TAKE_GALLERY_VIDEO) {
Uri selectedVideoUri = data.getData();
selectedVideoPath = getPath(selectedVideoUri);
}
if (requestCode == SELECT_AUDIO) {
Uri selectedAudioUri = data.getData();
selectedAudioPath = getPath(selectedAudioUri);
}
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
File f = new File(selectedImagePath);
if(f.exists()){
//w, h
Bitmap myBitmap = resizeImage.getCompressedBitmap(200, 200, f);
img.setImageBitmap(myBitmap);
}
}
}
}
【问题讨论】:
标签: android image audio video media