我使用MediaRecorder記錄與在三星Galaxy Note 2.它初始化一個MPEG2TS容器視頻沒有任何錯誤,居然在文件中寫入數據(文件將增長到幾MB)。但是,該文件無法在任何媒體播放器中播放。的Android MediaRecorder產生不可再現MPEG2TS輸出
這裏是我的初始化MediaRecorder代碼:
CamcorderProfile profile = null;
if(CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_720P)){
profile = CamcorderProfile.get(CamcorderProfile.QUALITY_720P);
}else if(CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_480P)){
profile = CamcorderProfile.get(CamcorderProfile.QUALITY_480P);
}else{ profile = CamcorderProfile.get(CamcorderProfile.QUALITY_LOW); }
myMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
myMediaRecorder.setOutputFormat(8);
myMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
myMediaRecorder.setVideoFrameRate(profile.videoFrameRate);
myMediaRecorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight);
myMediaRecorder.setVideoEncodingBitRate(profile.videoBitRate);
String f = Environment.getExternalStorageDirectory().toString() + "/video.ts";
myMediaRecorder.setOutputFile(f);
myMediaRecorder.setPreviewDisplay(previewHolder.getSurface());
myMediaRecorder.prepare();
myMediaRecorder.start();
上面的代碼工作得很好,當我設置輸出格式爲MP4( 「2」),而不是MPEG2-TS( 「8」),但當它設置爲8時,它會產生一個無法播放(但不是空的)視頻!
可能會發生什麼?
編輯:這裏的記錄設備上的sample video,如果任何人的興趣。
你試圖打開的視頻文件與G點什麼一樣? –
@DanielMošmondor是的,還有VLC和mplayer。 –
gspot說什麼?無法識別?也許如果你上傳的地方,並使其可用於有人用更好的工具來看看...... –