我是想做一个在聊天界面中添加视频录制并发送的功能。然后想录制之后播放,我用VideoView播放系统自动提示我此视频不能播放。我觉得应该是我的路径有问题。但是我的路径就是我存储的路径呀。代码如下:videoFile = new File(Environment.getExternalStorageDirectory()
.getAbsoluteFile() + "/" + "movie.mp4");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(videoFile));
//intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 1);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode== 1){
v_video.setVideoURI(Uri.fromFile(videoFile));
v_video.start();
}
}
Logcat如下:
07-15 16:27:05.650: I/AudioManager(16727): requestAudioFocus() status : 1
07-15 16:27:05.650: I/AudioManager(16727): requestAudioFocus() apk : com.jdxx.sat.activity
07-15 16:27:05.752: W/VideoView(16727): Unable to open content: file:///storage/emulated/0/movie.mp4
07-15 16:27:05.752: W/VideoView(16727): java.io.FileNotFoundException: /storage/emulated/0/movie.mp4: open failed: EACCES (Permission denied)
07-15 16:27:05.752: W/VideoView(16727): at libcore.io.IoBridge.open(IoBridge.java:459)
07-15 16:27:05.752: W/VideoView(16727): at java.io.FileInputStream.(FileInputStream.java:76)
07-15 16:27:05.752: W/VideoView(16727): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1100)
07-15 16:27:05.752: W/VideoView(16727): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1050)
07-15 16:27:05.752: W/VideoView(16727): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:996)
07-15 16:27:05.752: W/VideoView(16727): at android.widget.VideoView.openVideo(VideoView.java:349)
07-15 16:27:05.752: W/VideoView(16727): at android.widget.VideoView.access$2100(VideoView.java:70)
07-15 16:27:05.752: W/VideoView(16727): at android.widget.VideoView$7.surfaceCreated(VideoView.java:634)
07-15 16:27:05.752: W/VideoView(16727): at android.view.SurfaceView.updateWindow(SurfaceView.java:593)
07-15 16:27:05.752: W/VideoView(16727): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:184)
07-15 16:27:05.752: W/VideoView(16727): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
07-15 16:27:05.752: W/VideoView(16727): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2108)
07-15 16:27:05.752: W/VideoView(16727): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1138)
07-15 16:27:05.752: W/VideoView(16727): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6227)
07-15 16:27:05.752: W/VideoView(16727): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:884)
07-15 16:27:05.752: W/VideoView(16727): at android.view.Choreographer.doCallbacks(Choreographer.java:696)
07-15 16:27:05.752: W/VideoView(16727): at android.view.Choreographer.doFrame(Choreographer.java:631)
07-15 16:27:05.752: W/VideoView(16727): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:870)
07-15 16:27:05.752: W/VideoView(16727): at android.os.Handler.handleCallback(Handler.java:743)
07-15 16:27:05.752: W/VideoView(16727): at android.os.Handler.dispatchMessage(Handler.java:95)
07-15 16:27:05.752: W/VideoView(16727): at android.os.Looper.loop(Looper.java:150)
07-15 16:27:05.752: W/VideoView(16727): at android.app.ActivityThread.main(ActivityThread.java:5546)
07-15 16:27:05.752: W/VideoView(16727): at java.lang.reflect.Method.invoke(Native Method)
07-15 16:27:05.752: W/VideoView(16727): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
07-15 16:27:05.752: W/VideoView(16727): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
07-15 16:27:05.752: W/VideoView(16727): Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
07-15 16:27:05.752: W/VideoView(16727): at libcore.io.Posix.open(Native Method)
07-15 16:27:05.752: W/VideoView(16727): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
07-15 16:27:05.752: W/VideoView(16727): at libcore.io.IoBridge.open(IoBridge.java:445)
07-15 16:27:05.752: W/VideoView(16727): ... 24 more
07-15 16:27:05.752: D/VideoView(16727): Error: 1,0
在尝试在聊天应用中实现视频录制并回放时遇到问题。使用VideoView播放录制的电影.mp4文件失败,错误日志显示Permission denied。可能的原因是缺少文件读取权限或者录制的视频格式不被VideoView支持。
7525

被折叠的 条评论
为什么被折叠?



