【问题标题】:Android: Record video file play in my device but not play when sharingAndroid:在我的设备中录制视频文件播放但共享时不播放
【发布时间】:2012-11-10 06:16:49
【问题描述】:

在我的应用程序中,我的实际需求是录制视频文件并通过邮件分享给另一个人。 但是现在我可以录制视频文件并通过邮件朋友或某人分享该文件......我的共享文件有时会在真实设备上播放,而其他时候则不会在真实设备上播放。这是因为在下载文件时减小了文件大小。可能是音频和视频编码不当或文件输出格式不正确或发送到邮件附件问题...

问题出在哪里? 请帮帮我....

当记录开始时,我的代码是:

mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); 
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setOutputFile("/sdcard/myvideo.3gp");
mediaRecorder.setMaxDuration(60000); // Set max duration 60 sec.

并将文件发送到邮件代码是:

fileshare = new File("/sdcard/myvideo.3gp");
File filelocation = fileshare ;
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("video/3gp");
sharingIntent.putExtra(Intent.EXTRA_EMAIL, "xxxxxxxxx@gmail.com" );
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+filelocation.getAbsolutePath()));
startActivity(Intent.createChooser(sharingIntent, "Send email"));

【问题讨论】:

  • 我的代码哪里出了问题?为什么 -ve 标记??
  • 您可以编辑您的问题以包含更多详细信息。从您尝试播放文件的位置?有时文件大小会更改是什么意思?添加附件后大小会改变吗?不确定负面评价,可能是有人不喜欢你的 id :-) ,我赞成一个
  • 我编辑了我的问题,请看一次,有任何想法建议我..感谢您的解释

标签: android share capture video-recording


【解决方案1】:

无法确定您是如何在应用中执行此操作的,但您需要等到 MediaRecorder 完成文件写入后才能对其执行其他操作。您可以通过在 AsyncTask 中检查文件的字节 4 是否 >0 来做到这一点,或者您可以设置某种延迟,尽管这不太可靠。

【讨论】:

  • 我的文件大小总是 >0 字节,有时我的大小比实际大小小,当时没有播放,有时它与实际大小的文件一起正确播放..
猜你喜欢
  • 2017-10-24
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
相关资源
最近更新 更多