MediaItem
のリストをに解析/変換しようとしてConcatenatingAudioSource
いますが、単体テストで、変換されConcatenatingAudioSource
たものがターゲット ソースと一致しないというエラーが表示され続けます。私のテストは
List<MediaItem> audioSource = <MediaItem>[
MediaItem(
// This can be any unique id, but we use the audio URL for convenience.
id: "https://s3.amazonaws.com/scifri-episodes/scifri20181123-episode.mp3",
album: "Science Friday",
title: "A Salute To Head-Scratching Science",
artist: "Science Friday and WNYC Studios",
duration: Duration(milliseconds: 5739820),
artUri: Uri.parse(
"https://media.wnyc.org/i/1400/1400/l/80/1/ScienceFriday_WNYCStudios_1400.jpg"),
),
MediaItem(
id: "https://s3.amazonaws.com/scifri-segments/scifri201711241.mp3",
album: "Science Friday",
title: "From Cat Rheology To Operatic Incompetence",
artist: "Science Friday and WNYC Studios",
duration: Duration(milliseconds: 2856950),
artUri: Uri.parse(
"https://media.wnyc.org/i/1400/1400/l/80/1/ScienceFriday_WNYCStudios_1400.jpg"),
),
];
test('mediaItem2ConcatenatingAudioSource test', () {
expect(
// Here's where the conversion happens
ConcatenatingAudioSource(
children: audioSource
.map((item) => AudioSource.uri(Uri.parse(item.id)))
.toList(),
),
ConcatenatingAudioSource(children: [
AudioSource.uri(Uri.parse(
'https://s3.amazonaws.com/scifri-episodes/scifri20181123-episode.mp3')),
AudioSource.uri(Uri.parse(
"https://s3.amazonaws.com/scifri-segments/scifri201711241.mp3")),
]),
);
});
私が得るエラーは以下の通りです。ConcatenatingAudioSource
2つは同じではない、あるべき場所にあると言っていると思います。
Expected: <Instance of 'ConcatenatingAudioSource'>
Actual: <Instance of 'ConcatenatingAudioSource'>
変換部分をaudio_service
例 (362 行目) から文字通りコピーしたので、ここで何が間違っているのか本当に混乱しています。(この変換コードも、実際のアプリが実行されているときには機能しません。actual
テストの一部をsetSource()
メソッドに入れましたplay()
が、何も起こりません。)
どんな助けでも大歓迎です!ありがとうございました!