reason

修改发布按钮动画效果

...@@ -6,6 +6,7 @@ import 'package:flutter/material.dart'; ...@@ -6,6 +6,7 @@ import 'package:flutter/material.dart';
6 import 'package:getwidget/getwidget.dart'; 6 import 'package:getwidget/getwidget.dart';
7 import 'package:path_provider/path_provider.dart'; 7 import 'package:path_provider/path_provider.dart';
8 import 'package:share_plus/share_plus.dart'; 8 import 'package:share_plus/share_plus.dart';
9 +import '../../events/trans_event.dart';
9 import '../../net/dio_utils.dart'; 10 import '../../net/dio_utils.dart';
10 import '../../net/http_api.dart'; 11 import '../../net/http_api.dart';
11 import '../theme/tik_video_player.dart'; 12 import '../theme/tik_video_player.dart';
...@@ -41,10 +42,10 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -41,10 +42,10 @@ class VideoSlidesState extends State<VideoSlides> {
41 super.initState(); 42 super.initState();
42 isPraise = widget.isPraise; 43 isPraise = widget.isPraise;
43 isCollect = widget.isCollect; 44 isCollect = widget.isCollect;
44 - recodeVideoPlayStatus(); 45 + recordVideoPlayStatus();
45 } 46 }
46 47
47 - Future<void> recodeVideoPlayStatus() async { 48 + Future<void> recordVideoPlayStatus() async {
48 String url = '${HttpApi.addView}/${widget.videoId}'; 49 String url = '${HttpApi.addView}/${widget.videoId}';
49 // 统计观看数 50 // 统计观看数
50 DioUtils.instance.asyncRequestNetwork( 51 DioUtils.instance.asyncRequestNetwork(
...@@ -125,7 +126,7 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -125,7 +126,7 @@ class VideoSlidesState extends State<VideoSlides> {
125 child: InkWell( 126 child: InkWell(
126 onTap: () { 127 onTap: () {
127 isPraise = 128 isPraise =
128 - isPraise == false ? true : false; 129 + isPraise == false ? true : false;
129 setState(() {}); 130 setState(() {});
130 String url = 131 String url =
131 '${HttpApi.praise}/${widget.videoId}'; 132 '${HttpApi.praise}/${widget.videoId}';
...@@ -176,7 +177,7 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -176,7 +177,7 @@ class VideoSlidesState extends State<VideoSlides> {
176 child: InkWell( 177 child: InkWell(
177 onTap: () async { 178 onTap: () async {
178 isCollect = 179 isCollect =
179 - isCollect == false ? true : false; 180 + isCollect == false ? true : false;
180 setState(() {}); 181 setState(() {});
181 String url = 182 String url =
182 '${HttpApi.collect}/${widget.videoId}'; 183 '${HttpApi.collect}/${widget.videoId}';
...@@ -242,14 +243,14 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -242,14 +243,14 @@ class VideoSlidesState extends State<VideoSlides> {
242 ), 243 ),
243 child: isSharing 244 child: isSharing
244 ? GFProgressBar( 245 ? GFProgressBar(
245 - percentage: currentProgress, 246 + percentage: currentProgress,
246 - backgroundColor: Colors.black26, 247 + backgroundColor: Colors.black26,
247 - progressBarColor: GFColors.DANGER) 248 + progressBarColor: GFColors.DANGER)
248 : const Icon( 249 : const Icon(
249 - Icons.share_rounded, 250 + Icons.share_rounded,
250 - color: Colors.white, 251 + color: Colors.white,
251 - size: 20, 252 + size: 20,
252 - ), 253 + ),
253 ), 254 ),
254 ), 255 ),
255 ), 256 ),
...@@ -278,6 +279,7 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -278,6 +279,7 @@ class VideoSlidesState extends State<VideoSlides> {
278 icon: const Icon(Icons.video_call_outlined), 279 icon: const Icon(Icons.video_call_outlined),
279 buttonColor: Colors.teal, 280 buttonColor: Colors.teal,
280 onPress: () { 281 onPress: () {
282 + eventBus.fire(TransEvent());
281 String url = 283 String url =
282 '${PoemRouter.poemRecordVideoPage}?id=${widget.videoId}&type=${widget.poemType}'; 284 '${PoemRouter.poemRecordVideoPage}?id=${widget.videoId}&type=${widget.poemType}';
283 NavigatorUtils.push( 285 NavigatorUtils.push(
...@@ -289,6 +291,7 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -289,6 +291,7 @@ class VideoSlidesState extends State<VideoSlides> {
289 icon: const Icon(Icons.mic_none_outlined), 291 icon: const Icon(Icons.mic_none_outlined),
290 buttonColor: Colors.green, 292 buttonColor: Colors.green,
291 onPress: () { 293 onPress: () {
294 + eventBus.fire(TransEvent());
292 NavigatorUtils.push( 295 NavigatorUtils.push(
293 context, 296 context,
294 '${PoemRouter.poemRecordAudioPage}?id=${widget.videoId}&type=${widget.poemType}', 297 '${PoemRouter.poemRecordAudioPage}?id=${widget.videoId}&type=${widget.poemType}',
...@@ -319,10 +322,10 @@ class VideoSlidesState extends State<VideoSlides> { ...@@ -319,10 +322,10 @@ class VideoSlidesState extends State<VideoSlides> {
319 tempVideoPath = "$savePath$appName"; 322 tempVideoPath = "$savePath$appName";
320 Response response = await dio.download(url, tempVideoPath, 323 Response response = await dio.download(url, tempVideoPath,
321 onReceiveProgress: (received, total) { 324 onReceiveProgress: (received, total) {
322 - if (total != -1) { 325 + if (total != -1) {
323 - currentProgress = received / total; 326 + currentProgress = received / total;
324 - setState(() {}); 327 + setState(() {});
325 - } 328 + }
326 - }); 329 + });
327 } 330 }
328 } 331 }
......
...@@ -73,7 +73,7 @@ class _PoemCompletePageState extends State<PoemCompletePage> { ...@@ -73,7 +73,7 @@ class _PoemCompletePageState extends State<PoemCompletePage> {
73 onPressed: () { 73 onPressed: () {
74 NavigatorUtils.push( 74 NavigatorUtils.push(
75 context, 75 context,
76 - Routes.home, 76 + Routes.navBarPage,
77 clearStack: true, 77 clearStack: true,
78 ); 78 );
79 }, 79 },
......
...@@ -164,7 +164,7 @@ class AudioToolBar extends StatefulWidget { ...@@ -164,7 +164,7 @@ class AudioToolBar extends StatefulWidget {
164 class _AudioToolBarState extends State<AudioToolBar> { 164 class _AudioToolBarState extends State<AudioToolBar> {
165 late final PausableTimer _timer; 165 late final PausableTimer _timer;
166 int currentTimer = 0; 166 int currentTimer = 0;
167 - int duration = 10 * 1000; //TODO 60 * 1000; 167 + int duration = 60 * 1000;
168 168
169 Codec _codec = Codec.aacMP4; //TODO why accMP4? 169 Codec _codec = Codec.aacMP4; //TODO why accMP4?
170 String _mPath = 'tau_file.mp4'; 170 String _mPath = 'tau_file.mp4';
......
...@@ -51,7 +51,7 @@ class PoemRecordVideoPageState extends State<PoemRecordVideoPage> ...@@ -51,7 +51,7 @@ class PoemRecordVideoPageState extends State<PoemRecordVideoPage>
51 51
52 late final PausableTimer _timer; 52 late final PausableTimer _timer;
53 int currentTimer = 0; 53 int currentTimer = 0;
54 - int duration = 10 * 1000; //TODO 60 * 1000; 54 + int duration = 60 * 1000;
55 55
56 @override 56 @override
57 void initState() { 57 void initState() {
......
1 +import 'dart:async';
2 +
3 +import 'package:Parlando/events/trans_event.dart';
1 import 'package:chewie/chewie.dart'; 4 import 'package:chewie/chewie.dart';
2 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
3 import 'package:flutter/services.dart'; 6 import 'package:flutter/services.dart';
...@@ -43,17 +46,23 @@ class TikVideoPlayer extends StatefulWidget { ...@@ -43,17 +46,23 @@ class TikVideoPlayer extends StatefulWidget {
43 class _TikVideoPlayerState extends State<TikVideoPlayer> { 46 class _TikVideoPlayerState extends State<TikVideoPlayer> {
44 late VideoPlayerController _videoPlayerController; 47 late VideoPlayerController _videoPlayerController;
45 ChewieController? _chewieController; 48 ChewieController? _chewieController;
49 + late StreamSubscription bus;
46 50
47 @override 51 @override
48 void initState() { 52 void initState() {
49 initializePlayer(); 53 initializePlayer();
50 super.initState(); 54 super.initState();
55 +
56 + bus = eventBus.on<TransEvent>().listen((event) {
57 + _chewieController!.videoPlayerController.pause();
58 + });
51 } 59 }
52 60
53 @override 61 @override
54 void dispose() { 62 void dispose() {
55 _videoPlayerController.dispose(); 63 _videoPlayerController.dispose();
56 _chewieController!.dispose(); 64 _chewieController!.dispose();
65 + bus.cancel();
57 super.dispose(); 66 super.dispose();
58 } 67 }
59 68
......