我編寫了在Android上錄製視頻的代碼,我將其上傳到Blobstore,但沒有運氣讓它從Googleappengine上的播放器播放或在網絡上傳輸然而,我可以在下載視頻時閱讀視頻。任何想法 ??我想到了我使用的編碼或視頻格式(.mp4),甚至更多,我發送字節到blobstore的方式。謝謝。使用android錄製的視頻不會在Blobstore上播放
這裏是記錄代碼:
mCamera = Camera.open();
path= Environment.getExternalStorageDirectory().getAbsolutePath().toString();
Date date=new Date();
filename="/rec"+date.toString().replace(" ", "_").replace(":", "_")+".mp4";
//create empty file it must use
File file=new File(path,filename);
mrec = new MediaRecorder();
mCamera.lock();
mCamera.unlock();
mrec.setCamera(mCamera);
mrec.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mrec.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mrec.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mrec.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mrec.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mrec.setVideoFrameRate(20);
mrec.setPreviewDisplay(surfaceHolder.getSurface());
mrec.setOutputFile(path+filename);
mrec.prepare();
mrec.start();
這裏是上傳代碼:
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
//HttpPost httppost = new HttpPost(url);
HttpPost httppost = new HttpPost(url);
File file = new File("/sdcard/"+videoName);
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "video/mp4");
mpEntity.addPart("videoFile", cbFile);
httppost.setEntity(mpEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
的「URL」參數是從Blob存儲生成的URL,以上傳媒體文件,我猜blobstore用戶很熟悉它。
發佈您的播放器代碼? –
完成後,我使用我正在使用的代碼編輯帖子 –