[英]The method 'play' isn't defined for the type 'AudioCache'
問題 未為類型“AudioCache”定義“播放”方法。
導入“包:flutter/material.dart”; 導入“包:audioplayers/src/audio_cache.dart”;
void main() {
runApp(XylophoneApp());
}
class XylophoneApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: SafeArea(
child: Center(
child: TextButton(
onPressed: () {
final player = AudioCache();
player.play('note1.wave');
},
child: Text('click me'),
),
),
),
),
);
}
}
以下代碼在 audioplayers v1.0.1 中不再有效
final player = AudioCache();
player.play('note1.wave');
相反,你可以這樣做
final player = AudioPlayer();
//
player.play(UrlSource('note1.wave'));
// If file located in assets folder like assets/sounds/note01.wave"
await player.play(AssetSource('sounds/note1.wave'));
考慮查看音頻播放器的遷移指南
您的導入似乎有問題。 導入這個
導入“包:audioplayers/audioplayers.dart”;
如果問題仍然存在,請使用舊版本。 我認為 0.19.0 版應該適合你。
@Raj 如果您正在由 London App Brewery 和 Angela Yu 參加 LinkedIn 課程,那么可以完美運行的確切版本將是 0.10.0
音頻播放器:0.10.0
這是安吉拉使用的那個,它對我來說非常有效:-) 如果不是為了@Zain Basharat Ali 的建議,我不會嘗試它。 感謝您的提示::-)
如果您正在關注London App Brewery 和 Angela Yu 的 LinkedIn 課程,那么您可以看到我的項目我剛剛用最新的依賴項更新了整個代碼: https://github.com/mujtabax18/xylophone_flutter您也可以關注 dart 文件: https://github.com/mujtabax18/xylophone_flutter/blob/main/lib/main.dart
我面臨着同樣的問題,這就是我解決它的方法。
由於名稱混淆, AudioCache
已死。 現在,如果您想從assets
播放audio file
,您可以使用它。
// add this in imports
import 'package:audioplayers/audioplayers.dart';
// play audio
final player = AudioPlayer();
player.play(AssetSource('note1.wav'));
如果您不想從資產中播放,請使用它而不是AssetSource
。
UrlSource
: 從網上獲取遠程 URL 的音頻DeviceFileSource
:訪問用戶設備中的文件,可能由文件選擇器選擇AssetSource
:播放與您的應用程序捆綁的資產,通常在資產目錄中BytesSource
(僅限某些平台):直接傳入音頻的字節(從任何地方讀取) 。 您可以從audioplayers
文檔中看到更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.