日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

flutter - 如何在 dart/flutter 中收听流值

發(fā)布時(shí)間:2025/3/19 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flutter - 如何在 dart/flutter 中收听流值 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

flutter - 如何在 dart/flutter 中收聽流值

任何人幫助追蹤音頻的位置(即)

if(durationtoOne(position==5)){ FlutterToast.Showtoast(msg:"I am At 5 sec"); }

如果在 initstate 中添加出現(xiàn)錯(cuò)誤,我會(huì)被困在何處添加此代碼,
我想通過音頻平臺(tái)收聽位置

代碼從這里開始

import 'dart:async';import 'package:assets_audio_player/assets_audio_player.dart';import 'package:flutter/material.dart';import 'package:fluttertoast/fluttertoast.dart';class SmartMantra extends StatefulWidget {@override_SmartMantraState createState() => _SmartMantraState(); }class _SmartMantraState extends State<SmartMantra> {StreamSubscription _positionSubscription;Duration position;AssetsAudioPlayer _assetsAudioPlayer;stream() {_positionSubscription = _assetsAudioPlayer.currentPosition.listen((p) => setState(() => position = p),);}@overridevoid initState() {_assetsAudioPlayer.open("assets/shivamantra.mp3");stream();_assetsAudioPlayer.finished.listen((finished) {print(finished); // print(count);});super.initState();}@overridevoid dispose() {_positionSubscription.cancel();super.dispose();}@overrideWidget build(BuildContext context) {return Scaffold(body: Column(children: <Widget>[SizedBox(height: 70,),Center(child: Text(durationToone(position).toString(),style: TextStyle(color: Colors.black, fontSize: 12),),),//getTextContainer()],));} int durationToone(Duration duration) {int twoDigits(int n) {if (n >= 10) return n;return n;}int twoDigitSeconds =twoDigits(duration.inSeconds.remainder(Duration.secondsPerMinute));return twoDigitSeconds; } }

代碼到此結(jié)束

總結(jié):在特定位置需要在位置變化時(shí)觸發(fā)一些函數(shù)(即)

if(durationtoOne(position==5)){ FlutterToast.Showtoast(msg:"I am At 5 sec"); }

通過音頻播放或應(yīng)用程序在前臺(tái)

最佳答案

如果流不是廣播流,則您只能收聽一次。

請(qǐng)參閱此 Medium post 以了解有關(guān) Streams 的更多信息。

收聽 stream 時(shí),您需要在 _assetsAudioPlayer.currentPosition 函數(shù)中添加您的代碼。

import 'dart:async'; import 'package:assets_audio_player/assets_audio_player.dart'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart';class SmartMantra extends StatefulWidget {@override_SmartMantraState createState() => _SmartMantraState(); }class _SmartMantraState extends State<SmartMantra> {StreamSubscription _positionSubscription;Duration position;AssetsAudioPlayer _assetsAudioPlayer;stream() {_positionSubscription = _assetsAudioPlayer.currentPosition.listen((p) {setState(() => position = p));// You should add your code hereif(durationtoOne(position==5)){FlutterToast.Showtoast(msg:"I am At 5 sec");}}}@overridevoid initState() {_assetsAudioPlayer.open("assets/shivamantra.mp3");stream();_assetsAudioPlayer.finished.listen((finished) {print(finished); // print(count);});super.initState();}@overridevoid dispose() {_positionSubscription.cancel();super.dispose();}@overrideWidget build(BuildContext context) {return Scaffold(body: Column(children: <Widget>[SizedBox(height: 70,),Center(child: Text(durationToone(position).toString(),style: TextStyle(color: Colors.black, fontSize: 12),),),//getTextContainer()],));}int durationToone(Duration duration) {int twoDigits(int n) {if (n >= 10) return n;return n;}int twoDigitSeconds =twoDigits(duration.inSeconds.remainder(Duration.secondsPerMinute));return twoDigitSeconds;} }

總結(jié)

以上是生活随笔為你收集整理的flutter - 如何在 dart/flutter 中收听流值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。