flutter audioplayers 插件不播放声音而是冻结应用程序

flutter audioplayers plugin don't play sound instead freezes the app

我正在使用 flutter 插件 audioplayers: ^0.15.1,下面的代码在 Android 中有效,但在 IOS 中无效,而不是冻结应用程序。

我 运行 ios 模拟器中的代码,然后单击按钮。它假设播放 mp3 文件,但根本没有声音。该应用程序被冻结。 assets_audio_player 插件也有同样的问题。

请帮忙解决这个问题。

import 'package:flutter/material.dart';
import 'package:audioplayers/audio_cache.dart';

void main() => runApp(XylophoneApp());

class XylophoneApp extends StatelessWidget {
  void playNote(int noteNO) {
    final player = AudioCache();
    player.play('note$noteNO.wav');
  }

  Expanded buildKey(int no, Color color) {
    return Expanded(
      child: FlatButton(
        color: color,
        onPressed: () {
          playNote(no);
        },
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.black,
        body: SafeArea(
          child: Center(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[
                buildKey(1,Colors.red),
                buildKey(2,Colors.orange),
                buildKey(3,Colors.yellow),
                buildKey(4,Colors.green),
                buildKey(5,Colors.blue),
                buildKey(6,Colors.indigo),
                buildKey(7,Colors.purple),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

void playNote(int noteNO) {
  final player = AudioCache();
  player.play('note$noteNO.wav');
}

调试控制台:Screenshot

iOS => call startHeadlessService, playerId 6178a81e-22dc-485b-bfc8-f6a8402f518e
iOS => call play, playerId 6178a81e-22dc-485b-bfc8-f6a8402f518e
play!
isLocal: 1 1
volume: 1.000000 1
position: 0 (null)
setUrl /Users/akshay/Library/Developer/CoreSimulator/Devices/575F03D0-0EBE-4813-970A-14128CEF49ED/data/Containers/Data/Application/394C51F0-1ABD-4315-921A-F92E97CC1F98/Library/Caches/note5.wav
[VERBOSE-2:profiler_metrics_ios.mm(184)] Error retrieving thread information: (ipc/send) invalid destination port
player status: 2
player status: 2
player status: 2

由于您使用的是 ^,它正在将您升级到 0。16.x(主版本号为 0 的最新版本)

很可能您安装了最新可用的音频播放器包 (0.16.0),它们存在导致应用程序在 iOS 设备 https://github.com/luanpotter/audioplayers/issues/613 上崩溃的问题 您可以简单地在 pubspec.yaml 和 运行 packages get 命令中降级到 0.15.1(删除 ^)以使其工作

更改 pubspec.yaml 文件。

audioplayers:
    git:
      url: git://github.com/luanpotter/audioplayers.git