json - Flutter从json文件播放音频文件
问题描述
我开始学习和练习 Flutter,作为练习,我正在制作一个带有一些英语单词的词汇应用程序。当用户点击一个单词时,会出现另一个页面,其中包含翻译和播放音频文件的按钮。为此,我制作了一个 json 文件,其中包含翻译和资产目录的音频文件路径。我设法实现了构建单词列表和包含翻译的页面..但是当用户按下它时,我正在努力如何让按钮通过 json 文件中的路径播放音频文件。任何帮助将不胜感激。
我在颤振中尝试过,但我没有用..最后一个代码行有问题
import 'package:flutter/material.dart';
import 'package:/model/user.dart';
import 'package:assets_audio_player/assets_audio_player.dart';
class UserPage extends StatelessWidget {
final User user;
const UserPage({
Key key,
@required this.user,
}) : super(key: key);
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text(user.word),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(user.transl,
style: TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 28,
),
),
const SizedBox(height: 64),
RaisedButton(
padding: EdgeInsets.symmetric(horizontal: 20, vertical: 16),
color: Colors.teal,
child: Text(
'Play',
style: TextStyle(color: Colors.white, fontSize: 18),
),
onPressed: onPlayAudio,
),
],
),
),
);
}
void onPlayAudio() async {
AssetsAudioPlayer assetsAudioPlayer = AssetsAudioPlayer();
assetsAudioPlayer.open(
Audio(user.sound),
);
}
解决方案
推荐阅读
- git - 如何使用 gitlab-ci.yml 从自托管的 gitlab 存储库中提取
- c - 板载 LED,不开/关
- facebook-graph-api - 如何避免在 facebook 微数据调试器工具中出现“产品缺少字段:google_product_category”警告?
- r - 通过VBA执行时忽略R脚本
- mod-auth-openidc - 如何正确使用 OIDCUnAuthAction 传入 mod_auth_openidc?
- mysql - 有没有办法只显示满足一组特定条款的组?
- firebase - 如何测量 Stackdriver 上的 Firestore 读取和写入计数
- gerrit - 如何在gerrit的评论中提及某人?
- scenekit - SceneKit 在调用 didApplyConstraints 和 willRenderScene 之间做了什么?
- mongodb - 我如何只显示 MongoDB 聚合的前 1000 个结果