我有兩個(gè)活動(dòng)。Activity1打開(kāi)Activity2Intent intent = new Intent(getContext(), Activity2.class);startActivityForResult(intent, CAMERA_VIDEO_RESULT)Activity2使用MediaRecorder允許用戶捕獲視頻。首先,我準(zhǔn)備在File中onCreate: mRecordedFile = getOutputMediaFile(this, MEDIA_TYPE_VIDEO);這里使用的方法是從Google的示例中借來(lái)的,就像我創(chuàng)建文件的方式一樣: private static File getOutputMediaFile(Context context, int type){ File mediaStorageDir = new File(context.getExternalFilesDir( Environment.DIRECTORY_PICTURES), "MyCameraApp"); if (! mediaStorageDir.exists()){ if (! mediaStorageDir.mkdirs()){ Log.d("MyCameraApp", "failed to create directory"); return null; } } String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); File mediaFile; if (type == MEDIA_TYPE_IMAGE){ mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_"+ timeStamp + ".jpg"); } else if(type == MEDIA_TYPE_VIDEO) { mediaFile = new File(mediaStorageDir.getPath() + File.separator + "VID_"+ timeStamp + ".mp4"); } else { return null; } return mediaFile; }我將其設(shè)置為輸出File:mMediaRecorder.setOutputFile(mRecordedFile.getAbsolutePath());所以,回到中Activity1,我Uri在onActivityResult方法中檢索到了這個(gè),data只是返回了Intent:Uri uri = data.getData();到目前為止,看起來(lái)還不錯(cuò)。本Uri看起來(lái)是這樣的:file:///storage/emulated/0/Android/data/com.mycameraapp.demo/files/Pictures/MyCameraApp/VID_20180713_091027.mp4最終,我嘗試將其檢索并將其轉(zhuǎn)換回a,F(xiàn)ile因?yàn)槲倚枰獙⑵渖蟼鞯椒?wù)器。以下是相關(guān)的位: String filePath = uri.getPath(); File file = new File(filePath);在File這個(gè)創(chuàng)造是空白,具有長(zhǎng)度為0的我一直在打我的頭撞在墻上在這一個(gè),但是,感覺(jué)就像我必須失去了一些東西明顯。有什么建議嗎?
1 回答

鳳凰求蠱
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
您知道,您可能應(yīng)該發(fā)布所有代碼??赡馨l(fā)生的事情甚至與您發(fā)布的代碼無(wú)關(guān)。您可能在用戶點(diǎn)擊停止錄制按鈕之后立即再次設(shè)置輸出文件,從而覆蓋了他們剛剛制作的文件。
添加回答
舉報(bào)
0/150
提交
取消