У меня есть json файл, содержащий список названий и номеров песен. Я сделал просмотр списка и использовал onTap и Navigator.pu sh для отправки данных det на страницу с подробностями. Он отлично работает для отображения данных в виде текста, но я хочу воспроизводить песни из местных ресурсов. Я использую пакет аудиоплееров, и если я жестко закодирую имя песни, это работает, но я хочу передать имя песни в функцию воспроизведения, чтобы воспроизвести выбранную песню. Мой код для детальной страницы выглядит (немного упрощенно и сокращенно) примерно так:
import 'package:flutter/material.dart';
import 'package:audioplayers/audio_cache.dart';
class SongDetail extends StatelessWidget {
final String title;
final String songNumber;
final player = AudioCache();
SongDetail(this.title, this.songNumber);
@override
Widget build(BuildContext context) {
Widget titleSection = Container(
decoration: BoxDecoration(
color: Colors.blueGrey[50],
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: EdgeInsets.only(left: 20.0),
child: IconButton(icon: Icon(
Icons.play_circle_filled,
size: 40.0),
onPressed: () { player.play('1.mp3'); },
),
),
Я могу использовать Text (this.title) и Text (this.songNumber), чтобы отобразить заголовок и songNumber в виде текста , Но как получить данные из songNumber в функцию onPressed вместо жестко закодированного «1.mp3»?
Имейте в виду, что я новичок ie, который, возможно, принял трудную задачу, но я как вызовы:)