在我目前的颤振项目,我需要录制视频,修改它,然后显示给用户。问题是,在iOS (14.2)中,视频播放器无法显示录制的视频/修改,不幸的是,iOS (在物理设备上测试)没有错误。
库和版本:
video_player: 1.0.1
flick_video_player: ^0.1.1
camera: ^0.5.8+17
flutter_ffmpeg: ^0.3.0我之所以不使用最新版本的相机,是因为它被窃听了,而且对于某些设备,甚至连预览都无法显示。
代码:
initialization
Future<void> _initCamera() async {
final cameras = await availableCameras();
final camera = cameras.firstWhereOrNull(
(element) => element.lensDirection == CameraLensDirection.back,
);
_controller = CameraController(
camera,
resolutionTarget,
enableAudio: false,
);
await _controller.initialize();
await _controller.prepareForVideoRecording();
//Show the preview
setState(() {});
}
Future<void> startVideoRecording() async {
_videoPath = await generatePath(PathExtension.mp4);
await _controller.startVideoRecording(_videoPath);
}
Future<String> stopVideoRecording() async{
await _controller.stopVideoRecording();
return _videoPath;
}
void _createFlickManager(File videoFile) {
final videoController = VideoPlayerController.file(videoFile);
_flickManager = FlickManager(
videoPlayerController: videoController,
);
}
Widget _buildVideoPreview(){
return FlickVideoPlayer(
flickManager: _flickManager,
flickVideoWithControls:
FlickVideoWithControls(controls: Container()),
);
}
摘要:
f 225
发布于 2020-12-29 14:33:54
显然,在iOS 14.2中,包含空格的路径存在问题,因为我使用DateTime.now()生成唯一的文件名,这就是问题的原因。将其改为DateTime.now().millisecond解决了问题。
https://stackoverflow.com/questions/65492868
复制相似问题