2012-04-30 29 views
1

我有記錄的視頻如下視頻錄製在調用intent時未正確保存「new Intent(MediaStore.ACTION_VIDEO_CAPTURE);」

public class TtActivity extends Activity { 
    /** Called when the activity is first created. */ 

     File videoFile; 
     Uri fileUri; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.newconferencehomelayout); 

     videoFile = new File(Environment.getExternalStorageDirectory(),"test.mp4"); 

     if(!videoFile.exists()){ 

      try { 
        videoFile.createNewFile(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
     } 


     Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(videoFile)); 
     intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
     startActivityForResult(intent, 1); 






    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     super.onActivityResult(requestCode, resultCode, data); 

     if(requestCode == 1){ 

      if(resultCode == RESULT_OK){ 

       Toast.makeText(TtActivity.this, "File saved at "+videoFile.getPath(), Toast.LENGTH_SHORT).show(); 

      } 

      else if (resultCode == RESULT_CANCELED) { 

       Toast.makeText(TtActivity.this, "Recording cancelled..", Toast.LENGTH_SHORT).show(); 

       } 

      else{ 

       Toast.makeText(TtActivity.this, "Capturing failed..", Toast.LENGTH_SHORT).show(); 

      } 

     } 




} 

而且在清單中,我有

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.tt.cc" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="7" /> 

    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-feature android:name="android.hardware.camera" android:required="false" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name="TtActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

那麼簡單的標準代碼,我的問題是記錄完整的文件被創建,但視頻文件的大小後,是0字節...因此未能播放它..所以請幫助我解決這個問題..我正在測試它在我的HTC手機上。

回答

0

嘗試......

intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); 
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 200); 

看到this鏈接更多...

+0

試試這個代碼,它爲我工作 – MAC

+0

THX但在你的代碼ü創建您自己的媒體記錄..代替我必須調用標準的攝像機,以便我可以使用該應用程序提供的所有設施..所以回覆該帖子 – NullPointerException

+0

請參閱編輯答案... – MAC

相關問題