Flutter(十) 音频+视频播放

2023-06-14,,

Flutter中,我们有各种插件可供使用,从而实现音频和视频的播放功能。

例如,可以使用“text_to_speech”插件来将文字转换为语音,使用内置的“video_player”插件轻松地实现视频播放,或者使用“audioplayers”插件实现音频播放。

对于仅需要简单播放器功能的情况,也可以使用第三方插件“chewie”来实现。

一、文字转语音 - text_to_speech

text_to_speech官网

pubspec.yaml

dependencies:
text_to_speech: ^0.2.3

示例

    TextToSpeech tts = TextToSpeech();
tts.setRate(0.3); // 语速
tts.setPitch(0.5); // 语调
tts.setLanguage('en-US'); // 语言
tts.speak('This is test'); // 播放文字

Android配置

安卓还需要在App的AndroidManifest.xml中添加<queries>:

<manifest>
<application>
...
</application>
<queries>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>
</manifest>

二、播放音频 - audioplayers

audioplayers官网

pubspec.yaml

dependencies:
audioplayers: ^4.0.1

示例

class _ExampleAppState extends State<ExampleApp> {
final player = AudioPlayer(); ... void play() {
player.play(AssetSource('audio/test.mp3'));
} ...
}

三、播放视频 - video_player & chewie

播放视频需要使用到官方提供的video_player和第三方播放器chewie

video_player官网

chewie官网

pubspec.yaml

dependencies:
video_player: ^2.6.1
chewie: ^1.4.0

示例

class _ExampleAppState extends State<ExampleApp> {

  late VideoPlayerController videoPlayerController;
late ChewieController cheController; @override
void initState() {
// 资源控制器
videoPlayerController = VideoPlayerController.asset('assets/video/test.mp4');
// 视图控制器
cheController = ChewieController(
videoPlayerController: videoPlayerController,
aspectRatio: 16 / 9,
autoInitialize: true,
autoPlay: false,
looping: false,
);
super.initState();
} ...
// 播放器展示
Container(
height: 200,
child: Chewie(
controller: cheController,
),
),
...
}

Flutter(十) 音频+视频播放的相关教程结束。

《Flutter(十) 音频+视频播放.doc》

下载本文的Word格式文档,以方便收藏与打印。