Flutter视频播放增强插件video_player_extra的使用
Flutter视频播放增强插件video_player_extra的使用
video_player_extra
是 flutter
的 video_player
插件的一个分支,增加了播放180度或360度视频的功能。
此插件保持了与原包相同的接口,但有以下几点不同:
- 在
VideoPlayerOption
中添加了mediaFormat
。 - 在
VideoPlayerController
中添加了setMediaFormat
方法。 - 在
VideoPlayerController
中添加了setCameraRotation
方法。
理想情况下,该插件可以作为 video_player
包的直接替代品使用。
相机控制
只需将滚转、俯仰和偏航(以度为单位)传递给 setCameraRotation
方法。请参阅 完整的示例。
示例
import 'package:video_player_extra/video_player.dart';
import 'package:flutter/material.dart';
void main() => runApp(VideoApp());
class VideoApp extends StatefulWidget {
[@override](/user/override)
_VideoAppState createState() => _VideoAppState();
}
class _VideoAppState extends State<VideoApp> {
VideoPlayerController _controller;
[@override](/user/override)
void initState() {
super.initState();
_controller = VideoPlayerController.network(
'https://videojs-vr.netlify.app/samples/eagle-360.mp4',
videoPlayerOptions: VideoPlayerOptions(
mixWithOthers: true,
mediaFormat: MediaFormat.VR2D360,
),
)..initialize().then((_) {
// 确保在视频初始化后显示第一帧,即使播放按钮尚未按下。
setState(() {});
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Video Demo',
home: Scaffold(
body: Center(
child: _controller.value.isInitialized
? AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
: Container(),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
_controller.value.isPlaying
? _controller.pause()
: _controller.play();
});
},
child: Icon(
_controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
),
),
),
);
}
[@override](/user/override)
void dispose() {
super.dispose();
_controller.dispose();
}
}
更多关于Flutter视频播放增强插件video_player_extra的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复