2017-08-20 23 views
0

私はプロジェクトでビデオを圧縮しようとしています。しかし、私はそれを渡すと、私のアプリケーションは、取得し、ハングアップし、何もしません。しかし、それは私のストレージ内のフォルダを作成し、ビデオファイルを保存しますが、私はそれを再生しようとすると、エラー "ビデオを再生できませんでした"が表示されます。このファイルのサイズは24バイトです。だから見て、私が間違っていたことを教えてください。ビデオ圧縮はアンドロイド非対応のシリカ圧縮機を使用しています

ここに私のコードです。

File destinationPath = new File("/storage/emulated/0/DCIM/Camera/myvideo"); 
      destinationPath.mkdir(); 
      File file = new File(destinationPath.getAbsolutePath()); 
      Toast.makeText(Post.this, "folder: " + file, Toast.LENGTH_SHORT).show(); 

      try { 
       filePath = SiliCompressor.with(Post.this).compressVideo(videouri, file.toString()); 
       video.setVideoURI(Uri.parse(filePath)); 
       Toast.makeText(Post.this, "Completed", Toast.LENGTH_SHORT).show(); 
      } catch (URISyntaxException e) { 
       Log.d("EXCEPTION", e.toString()); 
       Toast.makeText(Post.this, e.getMessage(), Toast.LENGTH_SHORT).show(); 
       e.printStackTrace(); 
      } 
+1

おそらく、メインスレッドで圧縮が行われていることを意味します。別のスレッドで実行する必要がある場合はlibをチェックしてください。 –

答えて

0

を使用すると、ビデオ圧縮のためのデモアプリケーションのコードを見つけることができますAsyncTask

Hereを使用して圧縮コードを実行してみてください。

+0

ありがとう!出来た.. –

関連する問題