【问题标题】:How to delete cancelled video如何删除已取消的视频
【发布时间】:2012-01-25 05:06:56
【问题描述】:

我正在使用 Native Camera Intent 来捕捉视频。在 Nexus S 中,如果我捕获视频,那么无论我取消还是按下确定,视频文件都会存储在默认的 Medi URI 路径中。但是我需要在用户单击确定时删除捕获的视频。我在用 以下代码调用相机

Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(videoIntent, CAPTURE_VIDEO);

随后的 ciode 处理取消按钮点击事件

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        try {
            if (requestCode == CAPTURE_VIDEO) {if(resultCode == Activity.RESULT_CANCELED) 
//pointer comes here successfully. It tells that cancel button is clicked. But I am unabelt to know how to delete the currently cancelled video
}
}
}

【问题讨论】:

    标签: android android-camera-intent


    【解决方案1】:

    好吧,它有些丑陋的方式..

    首先从返回的URI中获取视频的真实路径,比如

    private String videoPath = "";
    
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == CAPTURE_VIDEO) 
        {
    
          Uri vid = data.getData();
          videoPath = getRealPathFromURI(vid);
        }   
    }
    
    public String getRealPathFromURI(Uri contentUri) {
        String[] proj = { MediaStore.Videos.Media.DATA };
        Cursor cursor = managedQuery(contentUri, proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Videos.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    }
    

    现在你有了一个视频文件的真实路径然后使用文件操作你可以删除它。

    File videoFile = new File(videoPath);
    videoFile.deleteOnExit();
    

    我怀疑是否有任何方法可以从 android 数据库中删除它..

    【讨论】:

    • 没有。它没有用。因为当我们取消视频时,该 URI 变为空。所以我无法获得路径
    • 在第一个答案的第二条评论中看这个问题Android ACTION_IMAGE_CAPTURE Intent。我认为它会对你有所帮助。
    • 我正在使用 ACTION_VIDEO_CAPTURE 捕捉视频
    • 是的,我知道,看看那条关于三星设备的评论。
    猜你喜欢
    • 2016-03-13
    • 1970-01-01
    • 2013-08-16
    • 2016-08-25
    • 2015-02-18
    • 2010-11-06
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多