#flutter #dart
#flutter #dart
Вопрос:
Я использую listview для отображения изображений и текста в моем приложении flutter. Я сохранил путь к активу и текст в файле Json и преобразовал его в список. Получение пути к ресурсу изображения и отображение правильного, похоже, работает без проблем, но это не так при воспроизведении аудиофайлов из их ресурсов.
Я использую этот пакет import 'package:assets_audio_player/assets_audio_player.dart';
объявление final AssetsAudioPlayer playAudio = AssetsAudioPlayer();
и это основной виджет
@override
Widget build(BuildContext context) {
Widget _buildRow(int idx) {
for (var translations in widget.category.translations) {
_wordList = widget.category.translations[idx];
return Container(
height: 88.0,
child: Card(
child: ListTile(
onTap: () {
playAudio.open(
Audio(_wordList.audio),
);
// player.play(_wordList.audio);
log(_wordList.audio, name: 'my.other.category');
},
onLongPress: () {},
leading: SizedBox(
width: 50.0,
height: 88.0,
child: Image(
image: AssetImage(_wordList.emoji),
fit: BoxFit.contain,
),
),
title: Text(
_wordList.akan,
style: TextStyle(fontSize: 18),
),
subtitle: Text(
_wordList.english,
style: TextStyle(fontSize: 18, color: Colors.black),
),
trailing: const Icon(Icons.play_arrow, size: 28),
),
),
);
}
}
Поскольку ресурсы изображения в файле json не имеют проблем, я не понимаю, почему звук
Я сохранил их следующим образом,
{
"english": "mother",
"akan": "ɛna",
"emoji": "assets/icons/family_mother.png",
"audio": "assets/audio/family_mother.mp3"
},
Ответ №1:
Решил проблему, создав новый виджет listtile с помощью итерации, а затем поместив его в listview