проигрывать аудио в трепетании - PullRequest
2 голосов
/ 02 апреля 2020

я сделал одну демонстрацию во флаттере, она отлично работает на Android, iphone, linux рабочем столе и ма c рабочем столе, но на windows рабочем столе это выдает ошибку

[ERROR:c:\b\s\w\ir\cache\builder\src\flutter\lib\ui\ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method stop on channel xyz.luan/audioplayers)

Может ли кто-нибудь помочь мне решить эту ошибку?

В этой демонстрации я использовал аудиоплееры 0.14.2 для воспроизведения локального аудиофайла во флаттере.

вот мой код: -

      void main() {
        debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
        runApp(new MaterialApp(home: new ExampleApp()));
      }

      class ExampleApp extends StatefulWidget {
        @override
        _ExampleAppState createState() => new _ExampleAppState();
      }

      class _ExampleAppState extends State<ExampleApp> {
        AudioPlayer advancedPlayer;
        AudioCache audioCache;

        @override
        void initState() {
          super.initState();
          initPlayer();
        }

        void initPlayer() {
          advancedPlayer = new AudioPlayer();
          audioCache = new AudioCache(fixedPlayer: advancedPlayer);
        }

        void playfirst() {
          audioCache.play('audio1.mp3');
        }

        void stop() {
          advancedPlayer.stop();
        }

        @override
        Widget build(BuildContext context) {
          return DefaultTabController(
            length: 1,
            child: Scaffold(
              appBar: AppBar(
                title: Text('Audio file demo'),
              ),
              body: Center(
                child: Column(
                  children: <Widget>[
                    ButtonTheme(
                        minWidth: 48.0,
                        child: RaisedButton(child: Text("play"), onPressed: playfirst)),
                    ButtonTheme(
                        minWidth: 48.0,
                        child: RaisedButton(child: Text("stop"), onPressed: stop))
                  ],
                ),
              )
            ),
          );
        }
      }

1 Ответ

1 голос
/ 03 апреля 2020

Может ли кто-нибудь помочь мне решить эту ошибку?

Единственный способ устранить ошибку - написать реализацию этого плагина для Windows; причина, по которой он говорит, что плагин отсутствует, заключается в том, что плагин не имеет поддержки Windows (что можно сказать, поскольку в репозитории плагина нет папки windows или записи windows: в pubspec.yaml).

отлично работает в [...] linux рабочем столе

Это удивительно, учитывая, что используемый вами плагин не ' t поддержка Linux либо.

Маловероятно, что вы найдете плагин с поддержкой Windows на данный момент, учитывая, что официальная документация в настоящее время гласит:

Замечание : * API-интерфейсы и инструменты плагинов Windows и Linux еще не стабильны, поэтому любой написанный плагин требует частых обновлений для критических изменений. Из-за этого публикация Windows и / или Linux плагинов для pub.dev на данном этапе настоятельно не рекомендуется .

...