簡體   English   中英

未為類型“AudioCache”定義“播放”方法

[英]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

  1. UrlSource : 從網上獲取遠程 URL 的音頻
  2. DeviceFileSource :訪問用戶設備中的文件,可能由文件選擇器選擇
  3. AssetSource :播放與您的應用程序捆綁的資產,通常在資產目錄中
  4. BytesSource (僅限某些平台):直接傳入音頻的字節(從任何地方讀取)

您可以從audioplayers 文檔中看到更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM